[−][src]Crate ever
Adds the feature to print the build information to your program with minimal boilerplate.
- Call
ever!()
at the top ofmain
function of your program.
use ever::ever; fn main() { ever!(); println!("Hello, world!"); }
- Set the environment variable
EVER
to1
when starting the program. The build information is printed and the program exits with status1
.
$ EVER=1 ./your_program
your_program 0.1.0 (debug):
date: Sat Dec 5 11:17:09 2020 +0900
commit: 49fec228607448df6fcb8950171441a1f56c2e7b-dirty
user: yushiomote
host: your_host
builddir: /home/yushiomote/your_program
rustc: 1.48.0 (7eac88abb 2020-11-16)
If you want to change the environment variable name, pass your alternative as the argument.
ever!("MY_VERSION");
$ MY_VERSION=1 ./your_program
Dump Cargo.lock
By setting the environment variable to dump_lock
, the program dumps the content of Cargo.lock
used during build.
$ EVER=dump_lock ./your_program
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "autocfg"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
...
Individual parameters
Provides macros to get individual parameters.
use ever::{build_commit_hash, build_dir, build_date}; fn main() { println!("build_commit_hash: {}", build_commit_hash!()); println!("build_dir: {}", build_dir!()); println!("build_date: {}", build_date!()); }
All the types returned by those macros are &'static str
.
Note
The build information is retrieved only when the source file where ever
macro is called is compiled.
Macros
build_commit_hash | Returns the git commit hash. |
build_date | Returns the build date. |
build_dir | Returns the directory path where the package is built. |
build_hostname | Returns the hostname where the package is built. |
build_mode | Returns the build mode, which is either |
build_username | Returns the username who builds the package. |
ever | Prints the build information when the environment variable is set. |
lock_file | Returns the content of |
package_description | Returns the package description. |
package_name | Returns the package name. |
package_version | Returns the package version. |
rustc_version | Returns the version of rustc used to build the program. |