„Google“ kuria kūrimo sistemą
Soong build failai nepalaiko sąlyginių teiginių ir išsišakojusių išraiškų, o tik apibūdina projekto struktūrą, modulius ir priklausomybes, naudojamas kuriant. Kuriami failai aprašomi naudojant kaukes ir sugrupuoti į paketus, kurių kiekvienas yra rinkinys failų su susijusiomis priklausomybėmis. Galima apibrėžti kintamuosius. Kintamieji ir savybės yra griežtai tipizuojami (kintamųjų tipas pasirenkamas dinamiškai pirmą kartą priskiriant, o savybėms – statiškai, priklausomai nuo modulio tipo). Sudėtingi surinkimo logikos elementai perkeliami į tvarkykles,
Soongas persipina su didesniu projektu
Šis metodas leidžia dideliems ir nevienalyčiams projektams, pvz., Android, įdiegti sudėtingus surinkimo logikos elementus kode aukšto lygio programavimo kalba, išlaikant galimybę keisti modulius, susijusius su surinkimo organizavimu ir projekto struktūra naudojant paprastą deklaratyviąją sintaksę. . Pavyzdžiui, Soong kompiliatoriaus vėliavėlių pasirinkimą atlieka tvarkytojas
cc_library {
...
srcs: ["generic.cpp"],
arka: {
ranka: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}
Šaltinis: opennet.ru