From: Oliver Schneider Date: Mon, 9 Jul 2018 08:15:30 +0000 (+0200) Subject: Also distribute cargo clippy X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=7a8e085835a54af9604ddb5eab5c75d547576ea2;p=rust.git Also distribute cargo clippy --- diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs index 0587dc8896d..33fa5f58c64 100644 --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs @@ -1221,7 +1221,7 @@ fn run(self, builder: &Builder) -> Option { let tmp = tmpdir(builder); let image = tmp.join("clippy-image"); drop(fs::remove_dir_all(&image)); - t!(fs::create_dir_all(&image)); + builder.create_dir(&image); // Prepare the image directory // We expect clippy to build, because we've exited this step above if tool @@ -1230,8 +1230,13 @@ fn run(self, builder: &Builder) -> Option { compiler: builder.compiler(stage, builder.config.build), target, extra_features: Vec::new() }).or_else(|| { println!("Unable to build clippy, skipping dist"); None })?; + let cargoclippy = builder.ensure(tool::CargoClippy { + compiler: builder.compiler(stage, builder.config.build), + target, extra_features: Vec::new() + }).or_else(|| { println!("Unable to build cargo clippy, skipping dist"); None })?; builder.install(&clippy, &image.join("bin"), 0o755); + builder.install(&cargoclippy, &image.join("bin"), 0o755); let doc = image.join("share/doc/clippy"); builder.install(&src.join("README.md"), &doc, 0o644); builder.install(&src.join("LICENSE"), &doc, 0o644); diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs index a22f5fd2252..2571054cc2c 100644 --- a/src/bootstrap/tool.rs +++ b/src/bootstrap/tool.rs @@ -584,6 +584,14 @@ fn run(mut $sel, $builder: &Builder) -> Option { tool_extended!((self, builder), Cargofmt, rustfmt, "src/tools/rustfmt", "cargo-fmt", {}; + CargoClippy, clippy, "src/tools/clippy", "cargo-clippy", { + // Clippy depends on procedural macros (serde), which requires a full host + // compiler to be available, so we need to depend on that. + builder.ensure(compile::Rustc { + compiler: self.compiler, + target: builder.config.build, + }); + }; Clippy, clippy, "src/tools/clippy", "clippy-driver", { // Clippy depends on procedural macros (serde), which requires a full host // compiler to be available, so we need to depend on that.