Expand description
Retrieve Git tag, store as environment variable at build time
The command git describe --tags
… finds the most recent tag that is reachable from a commit. If the tag points to the commit, then only the tag is shown. Otherwise, it suffixes the tag name with the number of additional commits on top of the tagged object and the abbreviated object name of the most recent commit. The result is a “human-readable” object name which can also be used to identify the commit to other git commands …
– Git Manual
§Example
To use, simply add as a build dependency to your cargo.toml
[package]
build = "build.rs"
[build-dependencies]
git_describe_build_tool = "~1.0.0"
Then, add build.rs
use git_describe_build_tool::prelude::*;
fn main() {
git_build_script();
}
Then, in your code, whenever you want to reference the current version
use the env!
macro
pub const GIT_COMMIT_DESCRIBE: &str = env!("GIT_COMMIT_DESCRIBE");
assert_eq! {
"0.11.0-51-g4446464",
GIT_COMMIT_DESCRIBE
}
Modules§
Constants§
- ENV_
VAR_ NAME - Name of the environment variable
Functions§
- git_
build_ script - Retrieve the version from git, then store in environment variable
- retrieve_
app_ version_ from_ git_ repository - Retrieve the version from git
- store_
app_ version_ in_ environment_ variable - Store the version in environment variable