vergen
Version
NOTE: Version 2.x.x is compatible with Version 1.x.x, but introduces a completely new way to use the
constants without having to use the include!
macro.
NOTE: Version 1.x.x is a breaking change from the 0.1.0 series. This crate no longer generates functions to display the build time information, but rather generates constants. See below for more detail.
Documentation
Basic Usage
vergen
, when used in conjunction with the Build Scripts support in
cargo, can either
- Generate environment variables to use with the
env!
macro. See the documentation forVergenKey
for the environment variables names. - Generate a file in
OUT_DIR
(defined by cargo) with up to 8 build time constants. This file can then be used with theinclude!
macro to pull the constants into your source for use.
2.x.x
Example Cargo.toml
[]
#..
= "build.rs"
[]
#..
[]
= "2"
Example build.rs
extern crate vergen;
use ;
Use constants in your code
1.x.x
Example build.rs
extern crate vergen;
use ;
Example version.rs
/// Compile Time (UTC)
pub const VERGEN_BUILD_TIMESTAMP: &str = "2018-08-09T15:15:57.282334589+00:00";
/// Compile Time - Short (UTC)
pub const VERGEN_BUILD_DATE: &str = "2018-08-09";
/// Commit SHA
pub const VERGEN_SHA: &str = "75b390dc6c05a6a4aa2791cc7b3934591803bc22";
/// Commit SHA - Short
pub const VERGEN_SHA_SHORT: &str = "75b390d";
/// Commit Date
pub const VERGEN_COMMIT_DATE: &str = "'2018-08-08'";
/// Target Triple
pub const VERGEN_TARGET_TRIPLE: &str = "x86_64-unknown-linux-gnu";
/// Semver
pub const VERGEN_SEMVER: &str = "v0.1.0-pre.0";
/// Semver (Lightweight)
pub const VERGEN_SEMVER_LIGHTWEIGHT: &str = "v0.1.0-pre.0";
Include the constants in your code (Version 1.x.x only)
include!;
format!
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.