Google razvija sustav za izgradnju
Datoteke za izgradnju Soonga ne podržavaju uvjetne izjave i izraze grananja, već samo opisuju strukturu projekta, module i ovisnosti korištene prilikom izgradnje. Datoteke koje treba izgraditi opisuju se pomoću maski i grupiraju u pakete, od kojih je svaki skup datoteka s pridruženim ovisnostima. Moguće je definirati varijable. Varijable i svojstva su strogo tipizirani (vrsta varijabli se bira dinamički pri prvom dodjeljivanju, a za svojstva statički ovisno o tipu modula). Složeni elementi logike sklopa premještaju se u rukovatelje,
Uskoro se isprepliće s većim projektom
Ovaj pristup omogućuje velikim i heterogenim projektima, kao što je Android, implementaciju složenih elemenata logike sklopa u kodu u programskom jeziku visoke razine, uz zadržavanje mogućnosti izmjene modula povezanih s organizacijom sklopa i strukturom projekta korištenjem jednostavne deklarativne sintakse . Na primjer, u Soongu odabir zastavica prevoditelja vrši rukovatelj
cc_biblioteka {
...
srcs: ["generic.cpp"],
luk: {
ruka: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
Izvor: opennet.ru