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"
|
||||
version = "0.4.0"
|
||||
build = "build/version.rs"
|
||||
|
||||
[build-dependencies]
|
||||
rustc_version = "0.1.7"
|
||||
|
||||
[dependencies]
|
||||
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