| Crates.io | ever |
| lib.rs | ever |
| version | 0.2.0 |
| created_at | 2019-06-20 01:57:35.73136+00 |
| updated_at | 2020-12-05 08:18:59.037874+00 |
| description | Print the build information of your program with minimal boilerplate |
| homepage | https://github.com/yushiomote/ever |
| repository | https://github.com/yushiomote/ever |
| max_upload_size | |
| id | 142250 |
| size | 9,940 |
Adds the feature to print the build information to your program with minimal boilerplate.
ever!() at the top of main function of your program.use ever::ever;
fn main() {
ever!();
println!("Hello, world!");
}
EVER to 1 when starting the program. The build information is printed and the program exits with status 1.$ 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
Cargo.lockBy 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"
...
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.
The build information is retrieved only when the source file where ever macro is called is compiled.