Google razvija sistem izgradnje
Soong build fajlovi ne podržavaju uslovne izraze i izraze grananja, već samo opisuju strukturu projekta, module i zavisnosti koji se koriste prilikom izgradnje. Datoteke koje treba izgraditi su opisane pomoću maski i grupisane u pakete, od kojih je svaki skup datoteka s pridruženim ovisnostima. Moguće je definirati varijable. Varijable i svojstva su striktno tipizirani (tip varijabli se bira dinamički pri prvom dodjeljivanju, a za svojstva statički ovisno o tipu modula). Kompleksni elementi asemblerske logike se premeštaju u rukovaoce,
Soong se prepliće sa većim projektom
Ovaj pristup omogućava velikim i heterogenim projektima, kao što je Android, da implementiraju složene elemente asemblerske logike u kodu u programskom jeziku visokog nivoa, uz zadržavanje mogućnosti izmjene modula koji se odnose na organizaciju sklopa i strukturu projekta koristeći jednostavnu deklarativno sintaksu . Na primjer, u Soongu, odabir zastavica kompajlera vrši rukovalac
cc_library {
...
src: ["generic.cpp"],
luk: {
ruka: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
izvor: opennet.ru