]> git.lizzy.rs Git - rust.git/blob - src/tools/tidy/src/main.rs
Simplify SaveHandler trait
[rust.git] / src / tools / tidy / src / main.rs
1 //! Tidy checks source code in this repository.
2 //!
3 //! This program runs all of the various tidy checks for style, cleanliness,
4 //! etc. This is run by default on `make check` and as part of the auto
5 //! builders.
6
7 #![deny(warnings)]
8
9 use tidy::*;
10
11 use std::process;
12 use std::path::PathBuf;
13 use std::env;
14
15 fn main() {
16     let path: PathBuf = env::args_os().nth(1).expect("need path to src").into();
17     let cargo: PathBuf = env::args_os().nth(2).expect("need path to cargo").into();
18
19     let args: Vec<String> = env::args().skip(1).collect();
20
21     let mut bad = false;
22     let verbose = args.iter().any(|s| *s == "--verbose");
23     bins::check(&path, &mut bad);
24     style::check(&path, &mut bad);
25     errors::check(&path, &mut bad);
26     cargo::check(&path, &mut bad);
27     let collected = features::check(&path, &mut bad, verbose);
28     pal::check(&path, &mut bad);
29     unstable_book::check(&path, collected, &mut bad);
30     libcoretest::check(&path, &mut bad);
31     if !args.iter().any(|s| *s == "--no-vendor") {
32         deps::check(&path, &mut bad);
33     }
34     deps::check_whitelist(&path, &cargo, &mut bad);
35     extdeps::check(&path, &mut bad);
36     ui_tests::check(&path, &mut bad);
37
38     if bad {
39         eprintln!("some tidy checks failed");
40         process::exit(1);
41     }
42 }