2个不稳定版本
0.2.0 | 2020年12月5日 |
---|---|
0.1.0 | 2019年6月20日 |
12在#ever
460每月下载量
在ever中使用
8KB
199 行
ever
向您的程序添加功能,以最少的前置代码打印构建信息。
- 在您的程序
main
函数顶部调用ever!()
。
use ever::ever;
fn main() {
ever!();
println!("Hello, world!");
}
- 当启动程序时,将环境变量
EVER
设置为1
。将打印构建信息并退出程序,状态为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)
如果您想更改环境变量名,请将您选择的替代品作为参数传递。
ever!("MY_VERSION");
$ MY_VERSION=1 ./your_program
导出Cargo.lock
通过设置环境变量为dump_lock
,程序将导出构建过程中使用的Cargo.lock
内容。
$ 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"
...
单个参数
提供获取单个参数的宏。
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!());
}
这些宏返回的所有类型都是&'static str
。
注意
只有在调用ever
宏的源文件被编译时,才会检索构建信息。
依赖项
~15MB
~354K SLoC