mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 10:45:42 +00:00
934b77023e
MozReview-Commit-ID: 1muL5Jc7ulI --HG-- extra : rebase_source : ff2fdf700f38e66a932e3e73562190530ff1d47a |
||
---|---|---|
.. | ||
src | ||
.cargo-checksum.json | ||
.cargo-ok | ||
.gitignore | ||
.travis.yml | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
rustc-version-rs
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
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.