mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 23:04:33 +00:00
bootstrap: Get rid of tail_args
in stream_cargo
This commit is contained in:
parent
c8c849ef5c
commit
9dfe50440e
@ -99,19 +99,13 @@ impl Step for Std {
|
||||
cargo_subcommand(builder.kind),
|
||||
);
|
||||
std_cargo(builder, target, compiler.stage, &mut cargo);
|
||||
cargo.args(args(builder));
|
||||
|
||||
builder.info(&format!(
|
||||
"Checking stage{} library artifacts ({} -> {})",
|
||||
builder.top_stage, &compiler.host, target
|
||||
));
|
||||
run_cargo(
|
||||
builder,
|
||||
cargo,
|
||||
args(builder),
|
||||
&libstd_stamp(builder, compiler, target),
|
||||
vec![],
|
||||
true,
|
||||
);
|
||||
run_cargo(builder, cargo, &libstd_stamp(builder, compiler, target), vec![], true);
|
||||
|
||||
// We skip populating the sysroot in non-zero stage because that'll lead
|
||||
// to rlib/rmeta conflicts if std gets built during this session.
|
||||
@ -155,19 +149,13 @@ impl Step for Std {
|
||||
for krate in builder.in_tree_crates("test", Some(target)) {
|
||||
cargo.arg("-p").arg(krate.name);
|
||||
}
|
||||
cargo.args(args(builder));
|
||||
|
||||
builder.info(&format!(
|
||||
"Checking stage{} library test/bench/example targets ({} -> {})",
|
||||
builder.top_stage, &compiler.host, target
|
||||
));
|
||||
run_cargo(
|
||||
builder,
|
||||
cargo,
|
||||
args(builder),
|
||||
&libstd_test_stamp(builder, compiler, target),
|
||||
vec![],
|
||||
true,
|
||||
);
|
||||
run_cargo(builder, cargo, &libstd_test_stamp(builder, compiler, target), vec![], true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -231,19 +219,13 @@ impl Step for Rustc {
|
||||
for krate in builder.in_tree_crates("rustc-main", Some(target)) {
|
||||
cargo.arg("-p").arg(krate.name);
|
||||
}
|
||||
cargo.args(args(builder));
|
||||
|
||||
builder.info(&format!(
|
||||
"Checking stage{} compiler artifacts ({} -> {})",
|
||||
builder.top_stage, &compiler.host, target
|
||||
));
|
||||
run_cargo(
|
||||
builder,
|
||||
cargo,
|
||||
args(builder),
|
||||
&librustc_stamp(builder, compiler, target),
|
||||
vec![],
|
||||
true,
|
||||
);
|
||||
run_cargo(builder, cargo, &librustc_stamp(builder, compiler, target), vec![], true);
|
||||
|
||||
let libdir = builder.sysroot_libdir(compiler, target);
|
||||
let hostdir = builder.sysroot_libdir(compiler, compiler.host);
|
||||
@ -290,6 +272,7 @@ impl Step for CodegenBackend {
|
||||
.arg("--manifest-path")
|
||||
.arg(builder.src.join(format!("compiler/rustc_codegen_{}/Cargo.toml", backend)));
|
||||
rustc_cargo_env(builder, &mut cargo, target);
|
||||
cargo.args(args(builder));
|
||||
|
||||
builder.info(&format!(
|
||||
"Checking stage{} {} artifacts ({} -> {})",
|
||||
@ -299,7 +282,6 @@ impl Step for CodegenBackend {
|
||||
run_cargo(
|
||||
builder,
|
||||
cargo,
|
||||
args(builder),
|
||||
&codegen_backend_stamp(builder, compiler, target, backend),
|
||||
vec![],
|
||||
true,
|
||||
@ -355,11 +337,13 @@ impl Step for RustAnalyzer {
|
||||
cargo.arg("--benches");
|
||||
}
|
||||
|
||||
cargo.args(args(builder));
|
||||
|
||||
builder.info(&format!(
|
||||
"Checking stage{} {} artifacts ({} -> {})",
|
||||
compiler.stage, "rust-analyzer", &compiler.host.triple, target.triple
|
||||
));
|
||||
run_cargo(builder, cargo, args(builder), &stamp(builder, compiler, target), vec![], true);
|
||||
run_cargo(builder, cargo, &stamp(builder, compiler, target), vec![], true);
|
||||
|
||||
/// Cargo's output path in a given stage, compiled by a particular
|
||||
/// compiler for the specified target.
|
||||
@ -413,6 +397,8 @@ macro_rules! tool_check_step {
|
||||
cargo.arg("--all-targets");
|
||||
}
|
||||
|
||||
cargo.args(args(builder));
|
||||
|
||||
// Enable internal lints for clippy and rustdoc
|
||||
// NOTE: this doesn't enable lints for any other tools unless they explicitly add `#![warn(rustc::internal)]`
|
||||
// See https://github.com/rust-lang/rust/pull/80573#issuecomment-754010776
|
||||
@ -428,7 +414,6 @@ macro_rules! tool_check_step {
|
||||
run_cargo(
|
||||
builder,
|
||||
cargo,
|
||||
args(builder),
|
||||
&stamp(builder, compiler, target),
|
||||
vec![],
|
||||
true,
|
||||
|
@ -141,14 +141,7 @@ impl Step for Std {
|
||||
&compiler.host,
|
||||
target,
|
||||
));
|
||||
run_cargo(
|
||||
builder,
|
||||
cargo,
|
||||
vec![],
|
||||
&libstd_stamp(builder, compiler, target),
|
||||
target_deps,
|
||||
false,
|
||||
);
|
||||
run_cargo(builder, cargo, &libstd_stamp(builder, compiler, target), target_deps, false);
|
||||
|
||||
builder.ensure(StdLink::from_std(
|
||||
self,
|
||||
@ -735,14 +728,7 @@ impl Step for Rustc {
|
||||
&compiler.host,
|
||||
target,
|
||||
));
|
||||
run_cargo(
|
||||
builder,
|
||||
cargo,
|
||||
vec![],
|
||||
&librustc_stamp(builder, compiler, target),
|
||||
vec![],
|
||||
false,
|
||||
);
|
||||
run_cargo(builder, cargo, &librustc_stamp(builder, compiler, target), vec![], false);
|
||||
|
||||
builder.ensure(RustcLink::from_rustc(
|
||||
self,
|
||||
@ -998,7 +984,7 @@ impl Step for CodegenBackend {
|
||||
"Building stage{} codegen backend {} ({} -> {})",
|
||||
compiler.stage, backend, &compiler.host, target
|
||||
));
|
||||
let files = run_cargo(builder, cargo, vec![], &tmp_stamp, vec![], false);
|
||||
let files = run_cargo(builder, cargo, &tmp_stamp, vec![], false);
|
||||
if builder.config.dry_run() {
|
||||
return;
|
||||
}
|
||||
@ -1422,7 +1408,6 @@ pub fn add_to_sysroot(
|
||||
pub fn run_cargo(
|
||||
builder: &Builder<'_>,
|
||||
cargo: Cargo,
|
||||
tail_args: Vec<String>,
|
||||
stamp: &Path,
|
||||
additional_target_deps: Vec<(PathBuf, DependencyType)>,
|
||||
is_check: bool,
|
||||
@ -1448,7 +1433,7 @@ pub fn run_cargo(
|
||||
// files we need to probe for later.
|
||||
let mut deps = Vec::new();
|
||||
let mut toplevel = Vec::new();
|
||||
let ok = stream_cargo(builder, cargo, tail_args, &mut |msg| {
|
||||
let ok = stream_cargo(builder, cargo, &mut |msg| {
|
||||
let (filenames, crate_types) = match msg {
|
||||
CargoMessage::CompilerArtifact {
|
||||
filenames,
|
||||
@ -1563,7 +1548,6 @@ pub fn run_cargo(
|
||||
pub fn stream_cargo(
|
||||
builder: &Builder<'_>,
|
||||
cargo: Cargo,
|
||||
tail_args: Vec<String>,
|
||||
cb: &mut dyn FnMut(CargoMessage<'_>),
|
||||
) -> bool {
|
||||
let mut cargo = Command::from(cargo);
|
||||
@ -1583,10 +1567,6 @@ pub fn stream_cargo(
|
||||
}
|
||||
cargo.arg("--message-format").arg(message_format).stdout(Stdio::piped());
|
||||
|
||||
for arg in tail_args {
|
||||
cargo.arg(arg);
|
||||
}
|
||||
|
||||
builder.verbose(&format!("running: {:?}", cargo));
|
||||
let mut child = match cargo.spawn() {
|
||||
Ok(child) => child,
|
||||
|
@ -72,7 +72,7 @@ impl Step for ToolBuild {
|
||||
|
||||
builder.info(&format!("Building stage{} tool {} ({})", compiler.stage, tool, target));
|
||||
let mut duplicates = Vec::new();
|
||||
let is_expected = compile::stream_cargo(builder, cargo, vec![], &mut |msg| {
|
||||
let is_expected = compile::stream_cargo(builder, cargo, &mut |msg| {
|
||||
// Only care about big things like the RLS/Cargo for now
|
||||
match tool {
|
||||
"rls" | "cargo" | "clippy-driver" | "miri" | "rustfmt" => {}
|
||||
|
Loading…
Reference in New Issue
Block a user