谷歌正在開發建構系統
Soong建構檔案不支援條件語句和分支表達式,而僅描述建置時所使用的專案結構、模組和相依性。 要建置的檔案使用遮罩進行描述並分組到套件中,每個套件都是具有關聯依賴項的檔案的集合。 可以定義變數。 變數和屬性是嚴格類型化的(變數的類型是在第一次賦值時動態選擇的,而屬性的類型則根據模組的類型靜態選擇)。 組裝邏輯的複雜元素被移到處理程序,
宋與一個更大的項目交織在一起
這種方法允許大型異質專案(例如 Android)以高級程式語言的程式碼實現彙編邏輯的複雜元素,同時保持使用簡單的聲明性語法對與彙編組織和專案結構相關的模組進行更改的能力。 例如,在 Soong 中,編譯器標誌的選擇是由處理程序完成的
cc_library {
...
srcs: ["generic.cpp"],
拱門:{
手臂: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
來源: opennet.ru