shadow-rs: A build script write by Rust
A build script tool compile project much information,version info,dependence info.Like shadow,if compiled,never change.forever follow your project.
When you published a rust binary. Sometimes you need to know the dependencies of the current project.
- Git version information
- which version of rust compiled.
- Is it a debug or release version of rust.
- Cargo dependent
cargo.lock
detail crates info. - ...
We can use this information to quickly trace the history version of the project. n This project can do this things that can help you quick get above information. let's configuration in your project/.
example
You can also see shadow_example how to configuration.
step 1
In your cargo.toml
packgae
with package add with below config
[]
= "build.rs"
[]
= "0.4"
[]
= "0.4"
step 2
In your project add file build.rs
,then add with below config
step 3
In your project find bin
rust file.It's usually main.rs
, you can find [bin]
file with Cargo.toml
,then add with below config
The shadow!(build)
with build
config,add Rust build mod in your project. You can also replace it(build) with other name.
extern crate shadow_rs;
shadow!;
step 4
Then you can use const that's shadow build it(main.rs).
The build
mod just we use shadow!(build)
generated.
Clap example
And you can also use const with clap.
Support const table
const | example |
---|---|
BRANCH | master/develop |
SHORT_COMMIT | 8405e28e |
COMMIT_HASH | 8405e28e64080a09525a6cf1b07c22fcaf71a5c5 |
COMMIT_DATE | 2020-08-16T06:22:24+00:00 |
COMMIT_AUTHOR | baoyachi |
COMMIT_EMAIL | xxx@gmail.com |
BUILD_OS | macos-x86_64 |
RUST_VERSION | rustc 1.45.0 (5c1f21c3b 2020-07-13) |
RUST_CHANNEL | stable-x86_64-apple-darwin (default) |
CARGO_VERSION | cargo 1.45.0 (744bd1fbb 2020-06-15) |
PKG_VERSION | 0.3.13 |
CARGO_TREE | cargo tree |
PROJECT_NAME | shadow-rs |
BUILD_TIME | 2020-08-16 14:50:25 |
BUILD_RUST_CHANNEL | debug/release |
If you have any question,you can create issue.
who use shadow-rs
If you are using shadow-rs
,please tell me.Or you can make a notes here,if you like:collection use.