]> git.lizzy.rs Git - rust.git/blob - src/tools/tidy/src/main.rs
Rollup merge of #63055 - Mark-Simulacrum:save-analysis-clean-2, r=Xanewok
[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     let collected = features::check(&path, &mut bad, verbose);
26     pal::check(&path, &mut bad);
27     unstable_book::check(&path, collected, &mut bad);
28     unit_tests::check(&path, &mut bad);
29     if !args.iter().any(|s| *s == "--no-vendor") {
30         deps::check(&path, &mut bad);
31     }
32     deps::check_whitelist(&path, &cargo, &mut bad);
33     extdeps::check(&path, &mut bad);
34     ui_tests::check(&path, &mut bad);
35
36     if bad {
37         eprintln!("some tidy checks failed");
38         process::exit(1);
39     }
40 }