Google utvikler et byggesystem
Soong byggefiler støtter ikke betingede setninger og forgreningsuttrykk, men beskriver bare prosjektstrukturen, modulene og avhengighetene som brukes ved bygging. Filene som skal bygges beskrives ved hjelp av masker og grupperes i pakker, som hver er en samling filer med tilhørende avhengigheter. Det er mulig å definere variabler. Variabler og egenskaper er strengt skrevet (type variabler velges dynamisk ved første tildeling, og for egenskaper statisk avhengig av type modul). Komplekse elementer i monteringslogikken flyttes til behandlere,
Soong flettes sammen med et større prosjekt
Denne tilnærmingen gjør det mulig for store og heterogene prosjekter, som Android, å implementere komplekse elementer av monteringslogikk i kode i et programmeringsspråk på høyt nivå, samtidig som man opprettholder muligheten til å gjøre endringer i moduler relatert til monteringsorganisasjon og prosjektstruktur ved hjelp av enkel deklarativ syntaks . For eksempel, i Soong, gjøres valget av kompilatorflagg av behandleren
cc_library {
...
srcs: ["generic.cpp"],
bue: {
arm: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
Kilde: opennet.ru