[−][src]Crate build_info
Begin by adding build-info
as a [dependency]
and build-info-build
as a [build-dependency]
to your Cargo.toml
.
Please make sure that both dependencies use the same version!
If it does not already exist, add a build.rs
to your project's root, where you call build_info_build::build_script()
.
This will collect build information at compile time.
Then, either use the build_info!
macro to add a function that returns version information at runtime:
build_info::build_info!(fn version);
or use build_info::format!
to generate a string at compile time:
// sample output: "{sample v0.0.6 built with rustc version 1.43.1 8d69840ab92ea7f4d323420088dd8c9775f180cd at 2020-05-28 20:09:40.379213639Z}" build_info::format!("{{{.crate_info.name} v{.crate_info.version} built with rustc version {.compiler.version} {.compiler.commit_id} at {.timestamp}}}")
You can also check out the sample project that shows both variants.
Features
The ´build-info` crate has the following features:
runtime
(enabled by default): Enables the use ofbuild_info::build_info!
and provides the prerequisite types.serde
(disabled by default): Adds serde support to the objects returned bybuild_info::build_info!
. Implies theruntime
feature.nested
(disabled by default): Enablesproc-macro-nested
forbuild_info::format!
, which lets it be nested inside another proc-macro invocation in some cases.
Macros
build_info | Call as |
format | Generates a string at compile-time that includes build information. |
Structs
BuildInfo | Information about the current build |
CompilerInfo |
|
CrateInfo | Information about the current crate (i.e., the crate for which build information has been generated) |
DateTime | ISO 8601 combined date and time with time zone. |
GitInfo | Information about a git repository |
Utc | The UTC time zone. This is the most efficient time zone when you don't need the local time. It is also used as an offset (which is also a dummy type). |
Version | Represents a version number conforming to the semantic versioning scheme. |
Enums
CompilerChannel |
|
VersionControl | Support for different version control systems |