1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2016年9月13日 |
---|
#22 in #make
8KB
150 行
🍰 糕点
糕点是一个简单、Rust风格的构建工具,通过Rust的高级宏系统进行配置,使其非常灵活且表达性强。
特性 & 优点
- 一个理智且清晰的语法。
- 通过工作窃取实现快速并行构建。
- 即时编译。
- 高效的依赖解析。
示例
#[macro_use]
extern crate cake;
build! {
start(sodium, libstd) => cmd!("ls"; in "src"),
sodium(libstd, libextra) => println!("yay"),
libstd() => println!("libstd"),
libextra(run) => cmd!("ls"; where LAL = "2"),
run() => println!("check"),
}
语法
构建是通过build!
宏声明的,当调用时,会展开到主函数。该build!
宏接受一个块,包含类似于match的语法
recipe(dependencies...) => instructions
第一个表示构建菜谱的名称。由()
分隔并由逗号分隔的dependencies
表示此菜谱依赖于哪些构建菜谱,即需要构建的内容。
菜谱可以通过返回Err(())
来失败,例如在结果上使用try!()
。
有关额外的辅助宏,请参阅渲染后的文档。
依赖关系
~1.5MB
~26K SLoC