Skip to content

Commit

Permalink
Enable building clippy in CI
Browse files Browse the repository at this point in the history
  • Loading branch information
oli-obk committed Oct 10, 2017
1 parent 5f578df commit 8e900aa
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 6 deletions.
9 changes: 7 additions & 2 deletions src/bootstrap/check.rs
Expand Up @@ -358,6 +358,7 @@ impl Step for Miri {

#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct Clippy {
stage: u32,
host: Interned<String>,
}

Expand All @@ -372,24 +373,28 @@ impl Step for Clippy {

fn make_run(run: RunConfig) {
run.builder.ensure(Clippy {
stage: run.builder.top_stage,
host: run.target,
});
}

/// Runs `cargo test` for clippy.
fn run(self, builder: &Builder) {
let build = builder.build;
let stage = self.stage;
let host = self.host;
let compiler = builder.compiler(1, host);
let compiler = builder.compiler(stage, host);

let _clippy = builder.ensure(tool::Clippy { compiler, target: self.host });
let clippy = builder.ensure(tool::Clippy { compiler, target: self.host });
let mut cargo = builder.cargo(compiler, Mode::Tool, host, "test");
cargo.arg("--manifest-path").arg(build.src.join("src/tools/clippy/Cargo.toml"));

// Don't build tests dynamically, just a pain to work with
cargo.env("RUSTC_NO_PREFER_DYNAMIC", "1");
// clippy tests need to know about the stage sysroot
cargo.env("SYSROOT", builder.sysroot(compiler));
// clippy tests need to find the driver
cargo.env("CLIPPY_DRIVER_PATH", clippy);

builder.add_rustc_lib_path(compiler, &mut cargo);

Expand Down
4 changes: 2 additions & 2 deletions src/bootstrap/tool.rs
Expand Up @@ -387,7 +387,7 @@ pub struct Clippy {

impl Step for Clippy {
type Output = PathBuf;
const DEFAULT: bool = false;
const DEFAULT: bool = true;
const ONLY_HOSTS: bool = true;

fn should_run(run: ShouldRun) -> ShouldRun {
Expand All @@ -411,7 +411,7 @@ impl Step for Clippy {
builder.ensure(ToolBuild {
compiler: self.compiler,
target: self.target,
tool: "clippy",
tool: "clippy-driver",
mode: Mode::Librustc,
path: "src/tools/clippy",
expectation: builder.build.config.toolstate.clippy.passes(ToolState::Compiling),
Expand Down
2 changes: 1 addition & 1 deletion src/tools/clippy
2 changes: 1 addition & 1 deletion src/tools/toolstate.toml
Expand Up @@ -26,7 +26,7 @@
miri = "Broken"

# ping @Manishearth @llogiq @mcarton @oli-obk
clippy = "Broken"
clippy = "Building"

# ping @nrc
rls = "Testing"
Expand Down

0 comments on commit 8e900aa

Please sign in to comment.