Кампанія Google развівае зборачную сістэму
Зборачныя файлы Soong не падтрымліваюць умоўных аператараў і выразаў для галінавання, а толькі апісваюць структуру праекта, якія прымяняюцца пры зборцы модулі і залежнасці. Падлеглыя зборцы файлы апісваюцца пры дапамозе масак і групуюцца ў пакеты, кожны з які ўяўляе сабой калекцыю файлаў з указаннем злучаных з імі залежнасцяў. Магчыма вызначэнне зменных. Пераменныя і ўласцівасці строга тыпізаваны (тып зменных выбіраецца дынамічна пры першым прысваенні, а для ўласцівасцяў статычна ў залежнасці ад тыпу модуля). Складаныя элементы зборачнай логікі вынесены ў апрацоўшчыкі,
Soong пераплятаецца з больш агульным праектам
Падобны падыход дазваляе для вялікіх і разнастайных праектаў, такіх як Android, рэалізаваць складаныя элементы зборачнай логікі ў кодзе на высокаўзроўневай мове праграмавання, пры гэтым захоўваючы магчымасць пры дапамозе простага дэкларатыўнага сінтаксісу ўносіць у модулі змены, злучаныя з арганізацыяй зборкі і структурай праекту. Напрыклад, у Soong выбар сцягоў кампілятара вырабляецца апрацоўшчыкам
cc_library {
...
srcs: [«generic.cpp»],
arch: {
arm: {
srcs: [«arm.cpp»],
},
x86: {
srcs: [x86.cpp],
},
},
}
Крыніца: opennet.ru