Skip to content

Commit

Permalink
Auto merge of rust-lang#6687 - ehuss:stabilize-wrapper, r=flip1995
Browse files Browse the repository at this point in the history
Stabilize workspace wrapper.

This fixes it so that `cargo clippy` doesn't share the same cache artifacts as `cargo check`. The Cargo side was stabilized a while ago (rust-lang/cargo#8976), so this should be ready to go. I'm not aware of any blockers or concerns.

Closes rust-lang#4612

---

changelog: `cargo clippy` no longer shares the same build cache as `cargo check`.
  • Loading branch information
bors committed Feb 10, 2021
2 parents 0e371b8 + 0585c34 commit 9c0ae2a
Showing 1 changed file with 1 addition and 23 deletions.
24 changes: 1 addition & 23 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ pub fn main() {
}

struct ClippyCmd {
unstable_options: bool,
cargo_subcommand: &'static str,
args: Vec<String>,
clippy_args: Vec<String>,
Expand Down Expand Up @@ -105,21 +104,12 @@ impl ClippyCmd {
}

ClippyCmd {
unstable_options,
cargo_subcommand,
args,
clippy_args,
}
}

fn path_env(&self) -> &'static str {
if self.unstable_options {
"RUSTC_WORKSPACE_WRAPPER"
} else {
"RUSTC_WRAPPER"
}
}

fn path() -> PathBuf {
let mut path = env::current_exe()
.expect("current executable path invalid")
Expand Down Expand Up @@ -156,7 +146,7 @@ impl ClippyCmd {
.map(|arg| format!("{}__CLIPPY_HACKERY__", arg))
.collect();

cmd.env(self.path_env(), Self::path())
cmd.env("RUSTC_WORKSPACE_WRAPPER", Self::path())
.envs(ClippyCmd::target_dir())
.env("CLIPPY_ARGS", clippy_args)
.arg(self.cargo_subcommand)
Expand Down Expand Up @@ -205,7 +195,6 @@ mod tests {
.map(ToString::to_string);
let cmd = ClippyCmd::new(args);
assert_eq!("fix", cmd.cargo_subcommand);
assert_eq!("RUSTC_WORKSPACE_WRAPPER", cmd.path_env());
assert!(cmd.args.iter().any(|arg| arg.ends_with("unstable-options")));
}

Expand All @@ -232,16 +221,5 @@ mod tests {
let args = "cargo clippy".split_whitespace().map(ToString::to_string);
let cmd = ClippyCmd::new(args);
assert_eq!("check", cmd.cargo_subcommand);
assert_eq!("RUSTC_WRAPPER", cmd.path_env());
}

#[test]
fn check_unstable() {
let args = "cargo clippy -Zunstable-options"
.split_whitespace()
.map(ToString::to_string);
let cmd = ClippyCmd::new(args);
assert_eq!("check", cmd.cargo_subcommand);
assert_eq!("RUSTC_WORKSPACE_WRAPPER", cmd.path_env());
}
}

0 comments on commit 9c0ae2a

Please sign in to comment.