#sha-1 #git #during #build-time #expose #git-repository #numbers

build git-sha1

在构建过程中将Git-SHA1暴露给crate

2个稳定版本

1.1.0 2020年12月17日
1.0.1 2020年12月17日

#689 in 构建工具

MIT/Apache

8KB
61

Rust库,在构建过程中将crate的当前Git-SHA1暴露出来。

有关Rust文档和示例,请参阅GitLab-Pages https://merkosh.gitlab.io/git-sha1


lib.rs:

在构建过程中提供当前的Git提交SHA1。

当从Git仓库构建crate时,通常希望提取当前版本号,形式为Git SHA1以显示。该crate在构建时间提取当前的Git SHA1,并将其作为环境变量提供。

如果crate当前正在构建且无法访问Git SHA1(即它是从tar归档中提取的,或者Git未安装),而不是失败,它将回退到默认值。此值默认为"",但可以通过use_default()方法进行更改。

示例

build.rs

use git_sha1::GitSHA1;

fn main() {
    GitSHA1::read().set("GIT_SHA1");
}

main.rs

use git_sha1::GitSHA1;

// either as static &str:
static SHA1: &str = env!("GIT_SHA1");

// or during runtime:
fn main() {
    let sha1 = GitSHA1::from_env("GIT_SHA1");

    let long = sha1.long();
    assert_eq!(SHA1, long);

    let short = sha1.short(10);
    // `short` may be shorter if SHA1 does not exist
    assert_eq!(short.len(), usize::min(10, short.len()));
}

无运行时依赖