谷歌正在开发构建系统
Soong构建文件不支持条件语句和分支表达式,而仅描述构建时使用的项目结构、模块和依赖项。 要构建的文件使用掩码进行描述并分组到包中,每个包都是具有关联依赖项的文件的集合。 可以定义变量。 变量和属性是严格类型化的(变量的类型是在第一次赋值时动态选择的,而属性的类型则根据模块的类型静态选择)。 组装逻辑的复杂元素被移动到处理程序,
宋与一个更大的项目交织在一起
这种方法允许大型异构项目(例如 Android)以高级编程语言的代码实现汇编逻辑的复杂元素,同时保持使用简单的声明性语法对与汇编组织和项目结构相关的模块进行更改的能力。 例如,在 Soong 中,编译器标志的选择是由处理程序完成的
cc_library {
...
srcs: ["generic.cpp"],
拱门:{
手臂: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
来源: opennet.ru