Konfigurasi Produk dan Papan dengan Starlark

Konfigurasi Produk dan Papan menentukan variabel Make yang memengaruhi build. Ini berbeda dengan file Android.mk, yang mendefinisikan aturan Make. Makefile konfigurasi produk tingkat atas ditentukan dengan menambahkannya ke PRODUCT_MAKEFILES dalam file AndroidProducts.mk . Makefile konfigurasi papan tingkat atas disebut BoardConfig.mk dan terdapat dalam folder yang namanya adalah nilai TARGET_DEVICE .

Saat build dijalankan dengan RBC_PRODUCT_CONFIG dan/atau RBC_BOARD_CONFIG set, file ini dikonversi ke Starlark dan dieksekusi oleh penerjemah Starlark alih-alih mengeksekusinya di Make.

Skrip pengujian regresi

Skrip regresi rbc_regression_test.sh menjalankan build dengan dan tanpa konverter otomatis Starlark dan membandingkan file ninja yang dihasilkan -- file tersebut harus identik.

Masalah di Makefiles

Beberapa pola tidak dapat dikonversi dari Make to Starlark, dan harus dihapus atau difaktorkan ulang secara manual. Proses ini dapat dilakukan sekarang, agar siap ketika konversi Starlark diaktifkan secara default. Lihat halaman di bawah bagian "masalah" di bilah sisi untuk beberapa pola dan alternatif umum.