2 个版本
0.1.1 | 2023年7月8日 |
---|---|
0.1.0 | 2023年7月8日 |
#11 在 #ninja-build
13KB
339 行
ninja_syntax
这是 ninja_syntax.py 的 Rust 版本。它允许您使用与 ninja 仓库中官方 Python 模块类似的语法,从 Rust 中轻松生成 ninja 构建文件。
示例
use ninja_syntax::*;
use std::path::Path;
fn main() {
let mut nw = NinjaWriter(Path::new("build.ninja"));
nw.comment("Hello this is a comment");
nw.newline();
let rule = NinjaRule::new("cc", "cc $in -o $out");
nw.rule(&rule);
let mut build = NinjaBuild::new(&["test.o"], "cc");
build.inputs(&["test.c"]);
nw.build(&build);
// write the file to disk
nw.close().unwrap();
}
鸣谢
最初由 Tobias Hieta 编写,Tamás Szelei 分支并使用 MIT 许可证(经作者许可)发布。大部分代码相同,但做了一些小的修改以提高易用性,并使用 textwrap
替代自定义的文本换行实现。最后,为了应用 正确的 缩进(两个空格)。最初是 sa_ninja_gen 的一部分,现在作为一个独立的 crate 发布。
依赖项
~645KB