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

제품 및 보드 구성은 빌드에 영향을 주는 Make 변수를 정의합니다. 이는 Make 규칙을 정의하는 Android.mk 파일과 대조됩니다. 최상위 제품 구성 makefile은 AndroidProducts.mk 파일의 PRODUCT_MAKEFILES에 makefile을 추가하는 방식으로 정의됩니다. 최상위 보드 구성 makefile은 BoardConfig.mk라고 하며 이름이 TARGET_DEVICE의 값과 동일한 폴더에 저장됩니다.

RBC_PRODUCT_CONFIG 또는 RBC_BOARD_CONFIG가 설정된 상태에서 빌드가 실행되면 이러한 파일은 Starlark로 변환되고 Make에서 실행되는 대신 Starlark 인터프리터에서 실행됩니다.

회귀 테스트 스크립트

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

Makefile의 문제

일부 패턴은 Make에서 Starlark로 변환할 수 없으며 수동으로 삭제하거나 리팩터링해야 합니다. 이 프로세스는 Starlark 변환이 기본적으로 사용 설정되었을 경우에 대비할 수 있도록 지금 실행할 수 있습니다. 사이드바의 '문제' 섹션에 있는 페이지에서 몇 가지 일반적인 패턴과 대안을 확인하세요.