]> git.lizzy.rs Git - rust.git/blob - src/tools/tidy/src/main.rs
Refactor away `inferred_obligations` from the trait selector
[rust.git] / src / tools / tidy / src / main.rs
1 // Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 //! Tidy checks source code in this repository
12 //!
13 //! This program runs all of the various tidy checks for style, cleanliness,
14 //! etc. This is run by default on `make check` and as part of the auto
15 //! builders.
16
17 #![deny(warnings)]
18
19 extern crate tidy;
20 use tidy::*;
21
22 use std::process;
23 use std::path::PathBuf;
24 use std::env;
25
26 fn main() {
27     let path = env::args_os().skip(1).next().expect("need an argument");
28     let path = PathBuf::from(path);
29
30     let args: Vec<String> = env::args().skip(1).collect();
31
32     let mut bad = false;
33     let quiet = args.iter().any(|s| *s == "--quiet");
34     bins::check(&path, &mut bad);
35     style::check(&path, &mut bad);
36     errors::check(&path, &mut bad);
37     cargo::check(&path, &mut bad);
38     features::check(&path, &mut bad, quiet);
39     pal::check(&path, &mut bad);
40     unstable_book::check(&path, &mut bad);
41     if !args.iter().any(|s| *s == "--no-vendor") {
42         deps::check(&path, &mut bad);
43     }
44
45     if bad {
46         eprintln!("some tidy checks failed");
47         process::exit(1);
48     }
49 }