Google sedang mengembangkan sistem pembangunan
File build Soong tidak mendukung pernyataan kondisional dan ekspresi percabangan, tetapi hanya menjelaskan struktur proyek, modul, dan dependensi yang digunakan saat membangun. File yang akan dibangun dideskripsikan menggunakan mask dan dikelompokkan ke dalam paket, yang masing-masing merupakan kumpulan file dengan dependensi terkait. Dimungkinkan untuk mendefinisikan variabel. Variabel dan properti diketik secara ketat (jenis variabel dipilih secara dinamis saat penugasan pertama, dan untuk properti secara statis bergantung pada jenis modul). Elemen kompleks dari logika perakitan dipindahkan ke penangan,
Soong terkait dengan proyek yang lebih besar
Pendekatan ini memungkinkan proyek besar dan heterogen, seperti Android, untuk mengimplementasikan elemen kompleks logika perakitan dalam kode dalam bahasa pemrograman tingkat tinggi, sambil mempertahankan kemampuan untuk membuat perubahan pada modul yang terkait dengan organisasi perakitan dan struktur proyek menggunakan sintaksis deklaratif sederhana . Misalnya, di Soong, pemilihan flag compiler dilakukan oleh handler
cc_perpustakaan {
...
srcs: ["generik.cpp"],
lengkungan: {
lengan: {
srcs: ["lengan.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}
Sumber: opennet.ru