Starlark를 사용한 제품 및 보드 구성

제품 및 보드 구성은 빌드에 영향을 주는 Make 변수를 정의합니다. 이것은 Make 규칙을 정의하는 Android.mk 파일과 대조됩니다. 최상위 제품 구성 makefile은 AndroidProducts.mk 파일의 PRODUCT_MAKEFILES 에 추가하여 정의됩니다. 최상위 보드 구성 메이크파일은 BoardConfig.mk 라고 하며 이름이 TARGET_DEVICE 값인 폴더에 포함되어 있습니다.

빌드가 RBC_PRODUCT_CONFIG 및/또는 RBC_BOARD_CONFIG 세트로 실행될 때 이러한 파일은 Starlark로 변환되고 Make에서 실행하는 대신 Starlark 인터프리터에 의해 실행됩니다.

회귀 테스트 스크립트

회귀 스크립트 rbc_regression_test.sh 는 Starlark 자동 변환기가 있거나 없는 빌드를 실행하고 결과 닌자 파일을 비교합니다. 둘은 동일해야 합니다.

Makefile의 문제

일부 패턴은 Make에서 Starlark로 변환할 수 없으며 수동으로 제거하거나 리팩토링해야 합니다. Starlark 변환이 기본적으로 활성화되어 있을 때를 대비하기 위해 이 프로세스를 지금 수행할 수 있습니다. 몇 가지 일반적인 패턴과 대안은 사이드바의 "문제" 섹션 아래 페이지를 참조하세요.