Rollup merge of #33404 - gsquire:cargo-lock, r=alexcrichton
Cargo lock tidy check A rebased PR for #32901
This commit is contained in:
commit
0cb966fa3b
31
src/rustc/Cargo.lock
generated
31
src/rustc/Cargo.lock
generated
@ -7,15 +7,6 @@ dependencies = [
|
||||
"rustdoc 0.0.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "advapi32-sys"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"winapi 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "arena"
|
||||
version = "0.0.0"
|
||||
@ -29,7 +20,7 @@ name = "flate"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"build_helper 0.1.0",
|
||||
"gcc 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -38,12 +29,8 @@ version = "0.0.0"
|
||||
|
||||
[[package]]
|
||||
name = "gcc"
|
||||
version = "0.3.17"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"advapi32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"winapi 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "graphviz"
|
||||
@ -192,7 +179,7 @@ name = "rustc_llvm"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"build_helper 0.1.0",
|
||||
"gcc 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"rustc_bitflags 0.0.0",
|
||||
]
|
||||
|
||||
@ -326,7 +313,7 @@ version = "0.0.0"
|
||||
dependencies = [
|
||||
"arena 0.0.0",
|
||||
"build_helper 0.1.0",
|
||||
"gcc 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.0.0",
|
||||
"rustc 0.0.0",
|
||||
"rustc_back 0.0.0",
|
||||
@ -365,13 +352,3 @@ dependencies = [
|
||||
"syntax 0.0.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-build"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
|
43
src/tools/tidy/src/cargo_lock.rs
Normal file
43
src/tools/tidy/src/cargo_lock.rs
Normal file
@ -0,0 +1,43 @@
|
||||
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
use std::path::Path;
|
||||
|
||||
const CARGO_LOCK: &'static str = "Cargo.lock";
|
||||
|
||||
pub fn check(path: &Path, bad: &mut bool) {
|
||||
use std::process::Command;
|
||||
|
||||
super::walk(path,
|
||||
&mut |path| super::filter_dirs(path) || path.ends_with("src/test"),
|
||||
&mut |file| {
|
||||
let name = file.file_name().unwrap().to_string_lossy();
|
||||
if name == CARGO_LOCK {
|
||||
let rel_path = file.strip_prefix(path).unwrap();
|
||||
let ret_code = Command::new("git")
|
||||
.arg("diff-index")
|
||||
.arg("--quiet")
|
||||
.arg("HEAD")
|
||||
.arg(rel_path)
|
||||
.current_dir(path)
|
||||
.status()
|
||||
.unwrap_or_else(|e| {
|
||||
panic!("could not run git diff-index: {}", e);
|
||||
});
|
||||
if !ret_code.success() {
|
||||
let parent_path = file.parent().unwrap().join("Cargo.toml");
|
||||
print!("dirty lock file found at {} ", rel_path.display());
|
||||
println!("please commit your changes or update the lock file by running:");
|
||||
println!("\n\tcargo update --manifest-path {}", parent_path.display());
|
||||
*bad = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
@ -35,6 +35,7 @@ mod style;
|
||||
mod errors;
|
||||
mod features;
|
||||
mod cargo;
|
||||
mod cargo_lock;
|
||||
|
||||
fn main() {
|
||||
let path = env::args_os().skip(1).next().expect("need an argument");
|
||||
@ -46,6 +47,7 @@ fn main() {
|
||||
errors::check(&path, &mut bad);
|
||||
cargo::check(&path, &mut bad);
|
||||
features::check(&path, &mut bad);
|
||||
cargo_lock::check(&path, &mut bad);
|
||||
|
||||
if bad {
|
||||
panic!("some tidy checks failed");
|
||||
|
Loading…
x
Reference in New Issue
Block a user