gecko-dev/third_party/rust/rustc_version
Andreas Tolfsen 934b77023e Bug 1340637 - Vendor geckodriver dependencies; r=ted
MozReview-Commit-ID: 1muL5Jc7ulI

--HG--
extra : rebase_source : ff2fdf700f38e66a932e3e73562190530ff1d47a
2017-05-23 18:03:07 +01:00
..
src
.cargo-checksum.json
.cargo-ok
.gitignore
.travis.yml
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
README.md

rustc-version-rs

Travis-CI Status

A library for querying the version of a installed rustc compiler.

For more details, see the docs.

Getting Started

rustc-version-rs is available on crates.io. Add the following dependency to your Cargo manifest to get the latest version of the 0.1 branch:

[dependencies]

rustc_version = "0.1.*"

To always get the latest version, add this git repository to your Cargo manifest:

[dependencies.rustc_version]
git = "https://github.com/Kimundi/rustc-version-rs"

Example

// This could be a cargo build script

extern crate rustc_version;
use rustc_version::{version, version_matches, version_meta, Channel};

fn main() {
    // Assert we haven't travelled back in time
    assert!(version().major >= 1);

    // Set cfg flags depending on release channel
    match version_meta().channel {
        Channel::Stable => {
            println!("cargo:rustc-cfg=RUSTC_IS_STABLE");
        }
        Channel::Beta => {
            println!("cargo:rustc-cfg=RUSTC_IS_BETA");
        }
        Channel::Nightly => {
            println!("cargo:rustc-cfg=RUSTC_IS_NIGHTLY");
        }
        Channel::Dev => {
            println!("cargo:rustc-cfg=RUSTC_IS_DEV");
        }
    }

    // Directly check a semver version requirment
    if version_matches(">= 1.4.0") {
        println!("cargo:rustc-cfg=compiler_has_important_bugfix");
    }
}

License

Licensed under either of

at your option.

Contribution

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