4个版本
0.1.3 | 2023年1月6日 |
---|---|
0.1.2 | 2023年1月3日 |
0.1.1 | 2022年12月24日 |
0.1.0 | 2022年12月24日 |
#425 在 构建实用工具
每月 1,831 次下载
在 9 个crate中使用 (8 个直接使用)
16KB
225 行
grev
一个用于从构建脚本中处理git修订信息的crate。
lib.rs
:
这个库提供了一种将部分具有主观性的git修订标识符包含在Rust项目(通常是二进制文件)中的方法。它提供了一组函数,所有这些函数都旨在从构建脚本中调用,用于查询正在构建的git修订。
典型用法可能如下所示
use grev::git_revision_auto;
fn main() -> Result<()> {
let dir = env!("CARGO_MANIFEST_DIR");
if let Some(git_rev) = git_revision_auto(dir)? {
println!(
"cargo:rustc-env=VERSION={} ({})",
env!("CARGO_PKG_VERSION"),
git_rev
);
} else {
println!("cargo:rustc-env=VERSION={}", env!("CARGO_PKG_VERSION"));
}
Ok(())
}
这个逻辑,位于项目根目录中的Cargo构建脚本(通常是 build.rs
),将在构建程序时无条件设置环境变量 VERSION
。它将包含包版本,如果有,则包含构建发生的git修订(包括表示是否有本地更改的修饰符)。如果在git标签上构建,修订字符串将包含此标签。主程序将使用 env!("VERSION")
查询版本字符串。
依赖项
~130KB