Конфигурации продукта и платы определяют переменные Make, влияющие на сборку. В этом отличие от файлов Android.mk, которые определяют правила Make. Make-файлы конфигурации продукта верхнего уровня определяются путем добавления их в PRODUCT_MAKEFILES
в файле AndroidProducts.mk
. Make-файлы конфигурации платы верхнего уровня называются BoardConfig.mk
и содержатся в папках, имена которых имеют значение TARGET_DEVICE
.
Когда сборка запускается с установленными RBC_PRODUCT_CONFIG
и/или RBC_BOARD_CONFIG
, эти файлы преобразуются в Starlark и выполняются интерпретатором Starlark вместо их выполнения в Make.
Скрипт регрессионного тестирования
Скрипт регрессии rbc_reгрессия_test.sh запускает сборку с автоконвертером Starlark и без него и сравнивает полученные файлы ниндзя — они должны быть идентичными.
Проблемы в Makefile
Некоторые шаблоны невозможно преобразовать из Make в Starlark, и их необходимо удалить или выполнить рефакторинг вручную. Этот процесс можно выполнить сейчас, чтобы быть готовым к тому, что преобразование Starlark будет включено по умолчанию. На страницах раздела «Проблемы» на боковой панели можно найти некоторые распространенные шаблоны и альтернативы.