#ever #information #boilerplate #build #macro #variables #print

进程宏 ever-macro

ever提供的辅助宏,以最少的前置代码打印构建信息

2个不稳定版本

0.2.0 2020年12月5日
0.1.0 2019年6月20日

12#ever

Download history 101/week @ 2024-04-01 6/week @ 2024-04-08 14/week @ 2024-04-15 17/week @ 2024-04-22 9/week @ 2024-05-06 7/week @ 2024-05-13 7/week @ 2024-05-20 166/week @ 2024-05-27 2/week @ 2024-06-03 33/week @ 2024-06-10 21/week @ 2024-06-24 21/week @ 2024-07-01 8/week @ 2024-07-08 410/week @ 2024-07-15

460每月下载量
ever中使用

MIT许可协议

8KB
199

ever

向您的程序添加功能,以最少的前置代码打印构建信息。

Latest version Documentation License Actions Status

  1. 在您的程序main函数顶部调用ever!()
use ever::ever;

fn main() {
    ever!();

    println!("Hello, world!");
}
  1. 当启动程序时,将环境变量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