Ensure minimum rustc version in a build script. r=nalexander (#326)
Printing out failure to meet rustc version helps users during setup with a helpful message if using an older rustc. Rust version checking from http://stackoverflow.com/a/36607492.
This commit is contained in:
parent
896d7f8f88
commit
ec2bbb8e83
2 changed files with 30 additions and 0 deletions
|
@ -8,6 +8,10 @@ authors = [
|
||||||
]
|
]
|
||||||
name = "mentat"
|
name = "mentat"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
|
build = "build/version.rs"
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
rustc_version = "0.1.7"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = "2.19.3"
|
clap = "2.19.3"
|
||||||
|
|
26
build/version.rs
Normal file
26
build/version.rs
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// Copyright 2016 Mozilla
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
||||||
|
// this file except in compliance with the License. You may obtain a copy of the
|
||||||
|
// License at http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
// Unless required by applicable law or agreed to in writing, software distributed
|
||||||
|
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||||
|
// CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||||
|
// specific language governing permissions and limitations under the License.
|
||||||
|
|
||||||
|
extern crate rustc_version;
|
||||||
|
|
||||||
|
use std::io::{self, Write};
|
||||||
|
use std::process::exit;
|
||||||
|
use rustc_version::version_matches;
|
||||||
|
|
||||||
|
/// MIN_VERSION should be changed when there's a new minimum version of rustc required
|
||||||
|
/// to build the project.
|
||||||
|
static MIN_VERSION: &'static str = ">= 1.15.1";
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
if !version_matches(MIN_VERSION) {
|
||||||
|
writeln!(&mut io::stderr(), "Mentat requires rustc {}", MIN_VERSION).unwrap();
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue