Google utvecklar ett byggsystem
Soong build-filer stöder inte villkorliga uttalanden och förgreningsuttryck, utan beskriver bara projektstrukturen, modulerna och beroenden som används vid byggandet. Filerna som ska byggas beskrivs med hjälp av masker och grupperas i paket, som vart och ett är en samling filer med tillhörande beroenden. Variabler kan definieras. Variabler och egenskaper är strikt typade (typen av variabler väljs dynamiskt vid första tilldelningen och för egenskaper statiskt beroende på typen av modul). Komplexa element av monteringslogik flyttas till hanterare,
Soong flätas samman med ett större projekt
Detta tillvägagångssätt gör det möjligt för stora och heterogena projekt, såsom Android, att implementera komplexa element av assemblerlogik i kod i ett programmeringsspråk på hög nivå, samtidigt som man bibehåller möjligheten att göra ändringar i moduler relaterade till assemblerorganisation och projektstruktur med hjälp av enkel deklarativ syntax . Till exempel i Soong görs valet av kompilatorflaggor av hanteraren
cc_library {
.
srcs: ["generic.cpp"],
båge: {
arm: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}
Källa: opennet.ru