versionisator

Crates.ioversionisator
lib.rsversionisator
version1.2.0
sourcesrc
created_at2019-09-01 10:40:19.65535
updated_at2022-07-23 13:16:13.922979
descriptionTool for build.rs script to display handy version information
homepagehttps://github.com/primetype/versionator#readme
repositoryhttps://github.com/primetype/versionator
max_upload_size
id161324
size11,891
Nicolas Di Prima (NicolasDP)

documentation

README

Versionator: version information for build script

Crates.io

Documentation

Usage

First, add this to your Cargo.toml:

[dependencies]
versionisator = "1.0"

Next, add this to your build script (build.rs):

extern crate versionisator;

fn main() {
    let version = versionisator::Version::new(
        env!("CARGO_MANIFEST_DIR"),
        env!("CARGO_PKG_NAME").to_string(),
        env!("CARGO_PKG_VERSION").to_string()
    );

    println!("cargo:rustc-env=FULL_VERSION={}", version.full());
    println!("cargo:rustc-env=SIMPLE_VERSION={}", version.simple());
    println!("cargo:rustc-env=SOURCE_VERSION={}", version.hash());
}

FULL_VERSION will give you:

versionator 1.0.0 (master-3326b9b+, debug, mac [x86_64]) - [rustc 1.37.0 (eae3437df 2019-08-13)]
\_________/ \___/  \____/ \_____/|  \___/  \_/  \____/      \_________________________________/
 |           |      |      |     |   |      |      |           |
 |           |      |      |     |   |      |      |           +- rustc --version
 |           |      |      |     |   |      |      +- std::env::consts::ARCH
 |           |      |      |     |   |      +- std::env::consts::OS
 |           |      |      |     |   +- Checks debug_assertions
 |           |      |      |     +- Adds a "+" if the working tree is not clean
 |           |      |      +- Commit hash
 |           |      +- Current branch name
 |           +- Package version from Cargo.toml
 +- Package name from Cargo.toml

Credits

This package is inspired from input-output-hk/jormungandr/719 itself inspired from https://vallentin.io/2019/06/06/versioning which served as guide for the idea and the code.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in bawawa by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 11

cargo fmt