mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 23:20:39 +00:00
Auto merge of #6687 - ehuss:stabilize-wrapper, r=flip1995
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 (https://github.com/rust-lang/cargo/pull/8976), so this should be ready to go. I'm not aware of any blockers or concerns. Closes #4612 --- changelog: `cargo clippy` no longer shares the same build cache as `cargo check`.
This commit is contained in:
commit
9c0ae2a5ab
1 changed files with 1 additions and 23 deletions
24
src/main.rs
24
src/main.rs
|
@ -59,7 +59,6 @@ pub fn main() {
|
|||
}
|
||||
|
||||
struct ClippyCmd {
|
||||
unstable_options: bool,
|
||||
cargo_subcommand: &'static str,
|
||||
args: Vec<String>,
|
||||
clippy_args: Vec<String>,
|
||||
|
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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")));
|
||||
}
|
||||
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue