X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Ftools%2Fclippy%2Fsrc%2Fmain.rs;h=7ebdd947893e9e1570ed1fe8d31ba32b2b4ffefd;hb=19d9a147bef8dfaf5c718c0cb4008accd86e7a5e;hp=6bd4123ddeb45d92917f1dd043fa9d09ecf208de;hpb=fc24bcead1d401ae061538d011e4a319c4195b56;p=rust.git diff --git a/src/tools/clippy/src/main.rs b/src/tools/clippy/src/main.rs index 6bd4123ddeb..7ebdd947893 100644 --- a/src/tools/clippy/src/main.rs +++ b/src/tools/clippy/src/main.rs @@ -4,7 +4,6 @@ use rustc_tools_util::VersionInfo; use std::env; -use std::ffi::OsString; use std::path::PathBuf; use std::process::{self, Command}; @@ -14,6 +13,8 @@ cargo clippy [options] [--] [...] Common options: + --no-deps Run Clippy only on the given crate, without linting the dependencies + --fix Automatically apply lint suggestions. This flag implies `--no-deps` -h, --help Print this message -V, --version Print version info and exit @@ -71,6 +72,7 @@ fn new(mut old_args: I) -> Self { let mut cargo_subcommand = "check"; let mut args = vec![]; + let mut clippy_args: Vec = vec![]; for arg in old_args.by_ref() { match arg.as_str() { @@ -78,6 +80,10 @@ fn new(mut old_args: I) -> Self cargo_subcommand = "fix"; continue; }, + "--no-deps" => { + clippy_args.push("--no-deps".into()); + continue; + }, "--" => break, _ => {}, } @@ -85,7 +91,7 @@ fn new(mut old_args: I) -> Self args.push(arg); } - let mut clippy_args: Vec = old_args.collect(); + clippy_args.append(&mut (old_args.collect())); if cargo_subcommand == "fix" && !clippy_args.iter().any(|arg| arg == "--no-deps") { clippy_args.push("--no-deps".into()); } @@ -109,22 +115,6 @@ fn path() -> PathBuf { path } - fn target_dir() -> Option<(&'static str, OsString)> { - env::var_os("CLIPPY_DOGFOOD") - .map(|_| { - env::var_os("CARGO_MANIFEST_DIR").map_or_else( - || std::ffi::OsString::from("clippy_dogfood"), - |d| { - std::path::PathBuf::from(d) - .join("target") - .join("dogfood") - .into_os_string() - }, - ) - }) - .map(|p| ("CARGO_TARGET_DIR", p)) - } - fn into_std_cmd(self) -> Command { let mut cmd = Command::new("cargo"); let clippy_args: String = self @@ -134,7 +124,6 @@ fn into_std_cmd(self) -> Command { .collect(); cmd.env("RUSTC_WORKSPACE_WRAPPER", Self::path()) - .envs(ClippyCmd::target_dir()) .env("CLIPPY_ARGS", clippy_args) .arg(self.cargo_subcommand) .args(&self.args);