#git-repository #build #cargo-build #revision #build-script #embed #io

构建 crate-git-revision

将git版本信息嵌入构建和发布的crates中

5个版本

0.0.6 2023年2月17日
0.0.5 2023年1月3日
0.0.4 2022年12月5日
0.0.3 2022年11月28日
0.0.2 2022年10月19日

#103 in 构建实用工具

Download history 2099/week @ 2024-03-13 2885/week @ 2024-03-20 2498/week @ 2024-03-27 3297/week @ 2024-04-03 3881/week @ 2024-04-10 3888/week @ 2024-04-17 4006/week @ 2024-04-24 3847/week @ 2024-05-01 3605/week @ 2024-05-08 3361/week @ 2024-05-15 2195/week @ 2024-05-22 3431/week @ 2024-05-29 3935/week @ 2024-06-05 4831/week @ 2024-06-12 3630/week @ 2024-06-19 3270/week @ 2024-06-26

16,382 每月下载量
用于 70 个crates (13 直接)

Apache-2.0

13KB
197

crate-git-revision

将crates的git版本信息嵌入其构建中。

支持从本地或远程git仓库中嵌入版本,以及当使用cargo install或依赖于crates.io上发布的crates时。

以两种方式提取git版本信息

  • 从发布crates中嵌入的.cargo_vcs_info.json文件中提取。
  • 从正在构建的未发布crates中的git仓库提取。

将包含完整git版本的GIT_REVISION环境变量注入构建中,如果工作目录是脏的,则带有-dirty后缀。

需要使用build.rs构建脚本。有关Rust构建脚本如何工作的更多信息,请参阅Build Scripts

示例

将以下内容添加到crate的Cargo.toml文件中

[build_dependencies]
crate-git-revision = "0.0.2"

将以下内容添加到crate的build.rs文件中

crate_git_revision::init();

将以下内容添加到crate的lib.rsmain.rs文件中

pub const GIT_REVISION: &str = env!("GIT_REVISION");

许可证:Apache-2.0

依赖项

~0.6–1.4MB
~31K SLoC