use std::collections::{BTreeMap, HashSet, HashMap};
use std::mem;
+use std::path::PathBuf;
use std::process;
use check::{self, TestKind};
.dep(|s| s.name("librustc"))
.host(true)
.run(move |s| check::cargotest(build, s.stage, s.target));
- rules.test("check-cargo", "cargo")
+ rules.test("check-cargo", "src/tools/cargo")
.dep(|s| s.name("tool-cargo"))
.host(true)
.run(move |s| check::cargo(build, s.stage, s.target));
+ rules.test("check-rls", "src/tools/rls")
+ .dep(|s| s.name("tool-rls"))
+ .host(true)
+ .run(move |s| check::rls(build, s.stage, s.target));
rules.test("check-tidy", "src/tools/tidy")
.dep(|s| s.name("tool-tidy").stage(0))
.default(true)
if paths.len() == 0 && rule.default {
Some((rule, 0))
} else {
- paths.iter().position(|path| path.ends_with(rule.path))
+ paths.iter()
+ .position(|path| path.ends_with(rule.path))
.map(|priority| (rule, priority))
}
}).collect();
+ if rules.is_empty() &&
+ !paths.get(0).unwrap_or(&PathBuf::new())
+ .ends_with("nonexistent/path/to/trigger/cargo/metadata") {
+ println!("\nNothing to run...\n");
+ process::exit(1);
+ }
+
rules.sort_by_key(|&(_, priority)| priority);
rules.into_iter().flat_map(|(rule, _)| {