A Google összeállítási rendszert fejleszt
A Soong build fájlok nem támogatják a feltételes utasításokat és az elágazó kifejezéseket, csak a projekt felépítését, a modulokat és az építés során használt függőségeket írják le. Az elkészítendő fájlok leírása maszkok segítségével történik, és csomagokba vannak csoportosítva, amelyek mindegyike fájlok gyűjteménye a kapcsolódó függőségekkel. Lehetőség van változók definiálására. A változók és tulajdonságok szigorúan tipizáltak (a változók típusa az első hozzárendeléskor dinamikusan, a tulajdonságoknál pedig a modul típusától függően statikusan kerül kiválasztásra). Az összeállítási logika összetett elemei a kezelőkbe kerülnek,
Soong összefonódik egy nagyobb projekttel
Ez a megközelítés lehetővé teszi a nagy és heterogén projektek, például az Android számára, hogy magas szintű programozási nyelven kódban implementálják az assembly logika összetett elemeit, miközben megőrzik az összeállításszervezéssel és a projektstruktúrával kapcsolatos modulok módosításának lehetőségét egyszerű deklaratív szintaxis segítségével. . Például a Soongban a fordítójelzők kiválasztását a kezelő végzi
cc_library {
...
srcs: ["generic.cpp"],
ív: {
kar: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
Forrás: opennet.ru