33 lines
733 B
Rust
33 lines
733 B
Rust
use std::process::Command;
|
|
|
|
use anyhow::Result;
|
|
|
|
use crate::{bail_on_err, Clippy};
|
|
|
|
pub fn run(args: &Clippy) -> Result<()> {
|
|
let mut clippy_command = Command::new("cargo");
|
|
clippy_command.arg("+nightly").arg("clippy");
|
|
|
|
if let Some(package) = args.package.as_ref() {
|
|
clippy_command.args(["--package", package]);
|
|
} else {
|
|
clippy_command.arg("--workspace");
|
|
}
|
|
|
|
clippy_command
|
|
.arg("--release")
|
|
.arg("--all-targets")
|
|
.arg("--all-features")
|
|
.arg("--")
|
|
.arg("-D")
|
|
.arg("warnings");
|
|
|
|
if args.fix {
|
|
clippy_command.arg("--fix");
|
|
}
|
|
|
|
bail_on_err(
|
|
&clippy_command.spawn()?.wait_with_output()?,
|
|
"Clippy failed",
|
|
)
|
|
}
|