]> git.lizzy.rs Git - rust.git/blob - src/tools/tidy/src/main.rs
Auto merge of #63124 - Centril:rollup-onohtqt, r=Centril
[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 use tidy::*;
8
9 use std::process;
10 use std::path::PathBuf;
11 use std::env;
12
13 fn main() {
14     let path: PathBuf = env::args_os().nth(1).expect("need path to src").into();
15     let cargo: PathBuf = env::args_os().nth(2).expect("need path to cargo").into();
16
17     let args: Vec<String> = env::args().skip(1).collect();
18
19     let mut bad = false;
20     let verbose = args.iter().any(|s| *s == "--verbose");
21     bins::check(&path, &mut bad);
22     style::check(&path, &mut bad);
23     errors::check(&path, &mut bad);
24     cargo::check(&path, &mut bad);
25     edition::check(&path, &mut bad);
26     let collected = features::check(&path, &mut bad, verbose);
27     pal::check(&path, &mut bad);
28     unstable_book::check(&path, collected, &mut bad);
29     unit_tests::check(&path, &mut bad);
30     if !args.iter().any(|s| *s == "--no-vendor") {
31         deps::check(&path, &mut bad);
32     }
33     deps::check_whitelist(&path, &cargo, &mut bad);
34     extdeps::check(&path, &mut bad);
35     ui_tests::check(&path, &mut bad);
36
37     if bad {
38         eprintln!("some tidy checks failed");
39         process::exit(1);
40     }
41 }