diff --git a/src/cargo/core/compiler/build_runner/compilation_files.rs b/src/cargo/core/compiler/build_runner/compilation_files.rs index 3d992ca058e..46329f947cd 100644 --- a/src/cargo/core/compiler/build_runner/compilation_files.rs +++ b/src/cargo/core/compiler/build_runner/compilation_files.rs @@ -213,7 +213,7 @@ impl<'a, 'gctx: 'a> CompilationFiles<'a, 'gctx> { /// Returns the directory where the artifacts for the given unit are /// initially created. - pub fn out_dir(&self, unit: &Unit) -> PathBuf { + pub fn output_dir(&self, unit: &Unit) -> PathBuf { // Docscrape units need to have doc/ set as the out_dir so sources for reverse-dependencies // will be put into doc/ and not into deps/ where the *.examples files are stored. if unit.mode.is_doc() || unit.mode.is_doc_scrape() { @@ -272,7 +272,7 @@ impl<'a, 'gctx: 'a> CompilationFiles<'a, 'gctx> { self.host.build_dir().root() } - /// Returns the host `deps` directory path. + /// Returns the host `deps` directory path for a given build unit. pub fn host_deps(&self, unit: &Unit) -> PathBuf { let dir = self.pkg_dir(unit); self.host.build_dir().deps(&dir) @@ -289,9 +289,11 @@ impl<'a, 'gctx: 'a> CompilationFiles<'a, 'gctx> { /// specified unit. (new layout) /// /// New features should consider using this so we can avoid their migrations. - pub fn deps_dir_new_layout(&self, unit: &Unit) -> PathBuf { + pub fn out_dir_new_layout(&self, unit: &Unit) -> PathBuf { let dir = self.pkg_dir(unit); - self.layout(unit.kind).build_dir().deps_new_layout(&dir) + self.layout(unit.kind) + .build_dir() + .out_force_new_layout(&dir) } /// Directory where the fingerprint for the given unit should go. @@ -511,10 +513,10 @@ impl<'a, 'gctx: 'a> CompilationFiles<'a, 'gctx> { } CompileMode::Doc => { let path = if bcx.build_config.intent.wants_doc_json_output() { - self.out_dir(unit) + self.output_dir(unit) .join(format!("{}.json", unit.target.crate_name())) } else { - self.out_dir(unit) + self.output_dir(unit) .join(unit.target.crate_name()) .join("index.html") }; @@ -530,7 +532,7 @@ impl<'a, 'gctx: 'a> CompilationFiles<'a, 'gctx> { // `-Zrustdoc-mergeable-info` always uses the new layout. outputs.push(OutputFile { path: self - .deps_dir_new_layout(unit) + .out_dir_new_layout(unit) .join(unit.target.crate_name()) .with_extension("json"), hardlink: None, @@ -609,7 +611,7 @@ impl<'a, 'gctx: 'a> CompilationFiles<'a, 'gctx> { unit: &Unit, bcx: &BuildContext<'a, 'gctx>, ) -> CargoResult> { - let out_dir = self.out_dir(unit); + let out_dir = self.output_dir(unit); let info = bcx.target_data.info(unit.kind); let triple = bcx.target_data.short_name(&unit.kind); diff --git a/src/cargo/core/compiler/build_runner/mod.rs b/src/cargo/core/compiler/build_runner/mod.rs index caa10f0af4a..dd06f63b24e 100644 --- a/src/cargo/core/compiler/build_runner/mod.rs +++ b/src/cargo/core/compiler/build_runner/mod.rs @@ -214,17 +214,17 @@ impl<'a, 'gctx> BuildRunner<'a, 'gctx> { for unit in units_with_build_script { for dep in &self.bcx.unit_graph[unit] { if dep.unit.mode.is_run_custom_build() { - let out_dir = self - .files() - .build_script_out_dir(&dep.unit) - .display() - .to_string(); + let out_dir = if self.bcx.gctx.cli_unstable().build_dir_new_layout { + self.files().out_dir_new_layout(&dep.unit) + } else { + self.files().build_script_out_dir(&dep.unit) + }; let script_meta = self.get_run_build_script_metadata(&dep.unit); self.compilation .extra_env .entry(script_meta) .or_insert_with(Vec::new) - .push(("OUT_DIR".to_string(), out_dir)); + .push(("OUT_DIR".to_string(), out_dir.display().to_string())); } } } diff --git a/src/cargo/core/compiler/custom_build.rs b/src/cargo/core/compiler/custom_build.rs index f30875da2be..0ec542be1ff 100644 --- a/src/cargo/core/compiler/custom_build.rs +++ b/src/cargo/core/compiler/custom_build.rs @@ -337,7 +337,12 @@ fn build_work(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit) -> CargoResul .map(|d| &d.unit) .expect("running a script not depending on an actual script"); let script_dir = build_runner.files().build_script_dir(build_script_unit); - let script_out_dir = build_runner.files().build_script_out_dir(unit); + + let script_out_dir = if bcx.gctx.cli_unstable().build_dir_new_layout { + build_runner.files().out_dir_new_layout(unit) + } else { + build_runner.files().build_script_out_dir(unit) + }; let script_run_dir = build_runner.files().build_script_run_dir(unit); if let Some(deps) = unit.pkg.manifest().metabuild() { @@ -505,6 +510,7 @@ fn build_work(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit) -> CargoResul paths::create_dir_all(&script_dir)?; paths::create_dir_all(&script_out_dir)?; + paths::create_dir_all(&script_run_dir)?; let nightly_features_allowed = build_runner.bcx.gctx.nightly_features_allowed; let targets: Vec = unit.pkg.targets().to_vec(); @@ -1366,7 +1372,11 @@ fn prev_build_output( build_runner: &mut BuildRunner<'_, '_>, unit: &Unit, ) -> (Option, PathBuf) { - let script_out_dir = build_runner.files().build_script_out_dir(unit); + let script_out_dir = if build_runner.bcx.gctx.cli_unstable().build_dir_new_layout { + build_runner.files().out_dir_new_layout(unit) + } else { + build_runner.files().build_script_out_dir(unit) + }; let script_run_dir = build_runner.files().build_script_run_dir(unit); let root_output_file = script_run_dir.join("root-output"); let output_file = script_run_dir.join("output"); diff --git a/src/cargo/core/compiler/layout.rs b/src/cargo/core/compiler/layout.rs index 0316c7b3950..167e794e6f6 100644 --- a/src/cargo/core/compiler/layout.rs +++ b/src/cargo/core/compiler/layout.rs @@ -324,16 +324,16 @@ impl BuildDirLayout { /// Fetch the deps path. pub fn deps(&self, pkg_dir: &str) -> PathBuf { if self.is_new_layout { - self.deps_new_layout(pkg_dir) + self.out_force_new_layout(pkg_dir) } else { self.legacy_deps().to_path_buf() } } - /// Fetch the deps path. (new layout) + /// Fetch the output path for build units. (new layout only) /// /// New features should consider using this so we can avoid their migrations. - pub fn deps_new_layout(&self, pkg_dir: &str) -> PathBuf { - self.build_unit(pkg_dir).join("deps") + pub fn out_force_new_layout(&self, pkg_dir: &str) -> PathBuf { + self.build_unit(pkg_dir).join("out") } /// Fetch the deps path. (old layout) pub fn legacy_deps(&self) -> &Path { @@ -377,7 +377,7 @@ impl BuildDirLayout { /// Fetch the build script execution path. pub fn build_script_execution(&self, pkg_dir: &str) -> PathBuf { if self.is_new_layout { - self.build_unit(pkg_dir).join("build-script") + self.build_unit(pkg_dir).join("run") } else { self.build().join(pkg_dir) } diff --git a/src/cargo/core/compiler/mod.rs b/src/cargo/core/compiler/mod.rs index 34cab04b167..57d2cd072b3 100644 --- a/src/cargo/core/compiler/mod.rs +++ b/src/cargo/core/compiler/mod.rs @@ -300,7 +300,7 @@ fn rustc( let name = unit.pkg.name(); let outputs = build_runner.outputs(unit)?; - let root = build_runner.files().out_dir(unit); + let root = build_runner.files().output_dir(unit); // Prepare the native lib state (extra `-L` and `-l` flags). let build_script_outputs = Arc::clone(&build_runner.build_script_outputs); @@ -865,7 +865,7 @@ fn prepare_rustdoc(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> CargoResu add_cap_lints(bcx, unit, &mut rustdoc); unit.kind.add_target_arg(&mut rustdoc); - let doc_dir = build_runner.files().out_dir(unit); + let doc_dir = build_runner.files().output_dir(unit); rustdoc.arg("-o").arg(&doc_dir); rustdoc.args(&features_args(unit)); rustdoc.args(&check_cfg_args(unit)); @@ -902,7 +902,7 @@ fn prepare_rustdoc(build_runner: &BuildRunner<'_, '_>, unit: &Unit) -> CargoResu rustdoc.arg("--merge=none"); let mut arg = OsString::from("--parts-out-dir="); // `-Zrustdoc-mergeable-info` always uses the new layout. - arg.push(build_runner.files().deps_dir_new_layout(unit)); + arg.push(build_runner.files().out_dir_new_layout(unit)); rustdoc.arg(arg); } @@ -969,7 +969,7 @@ fn rustdoc(build_runner: &mut BuildRunner<'_, '_>, unit: &Unit) -> CargoResult) { if let Some(val) = val { @@ -1749,7 +1749,11 @@ fn build_deps_args( // Add `OUT_DIR` environment variables for build scripts let first_custom_build_dep = deps.iter().find(|dep| dep.unit.mode.is_run_custom_build()); if let Some(dep) = first_custom_build_dep { - let out_dir = &build_runner.files().build_script_out_dir(&dep.unit); + let out_dir = if bcx.gctx.cli_unstable().build_dir_new_layout { + build_runner.files().out_dir_new_layout(&dep.unit) + } else { + build_runner.files().build_script_out_dir(&dep.unit) + }; cmd.env("OUT_DIR", &out_dir); } @@ -1764,7 +1768,11 @@ fn build_deps_args( if is_multiple_build_scripts_enabled { for dep in deps { if dep.unit.mode.is_run_custom_build() { - let out_dir = &build_runner.files().build_script_out_dir(&dep.unit); + let out_dir = if bcx.gctx.cli_unstable().build_dir_new_layout { + build_runner.files().out_dir_new_layout(&dep.unit) + } else { + build_runner.files().build_script_out_dir(&dep.unit) + }; let target_name = dep.unit.target.name(); let out_dir_prefix = target_name .strip_prefix("build-script-") diff --git a/tests/testsuite/build_dir.rs b/tests/testsuite/build_dir.rs index e2350e7324d..60bd27a5171 100644 --- a/tests/testsuite/build_dir.rs +++ b/tests/testsuite/build_dir.rs @@ -44,8 +44,8 @@ fn binary_with_debug() { [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -84,8 +84,8 @@ fn binary_with_release() { &p.root(), &[ // Check the pre-uplifted binary in the build-dir - &format!("build-dir/release/build/foo/*/deps/foo*{EXE_SUFFIX}"), - "build-dir/release/build/foo/*/deps/foo*.d", + &format!("build-dir/release/build/foo/*/out/foo*{EXE_SUFFIX}"), + "build-dir/release/build/foo/*/out/foo*.d", // Verify the binary was copied to the target-dir &format!("target-dir/release/foo{EXE_SUFFIX}"), "target-dir/release/foo.d", @@ -99,8 +99,8 @@ fn binary_with_release() { [ROOT]/foo/build-dir/release/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/build-dir/release/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/build-dir/release/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/build-dir/release/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/release/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/release/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/release/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/release/build/foo/[HASH]/.lock "#]]); @@ -209,8 +209,8 @@ fn should_default_to_target() { [ROOT]/foo/target/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/target/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/target/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/target/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/target/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/target/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/target/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/target/debug/foo[EXE] [ROOT]/foo/target/debug/foo.d [ROOT]/foo/target/debug/build/foo/[HASH]/.lock @@ -238,8 +238,8 @@ fn should_respect_env_var() { [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -279,8 +279,12 @@ fn build_script_should_output_to_build_dir() { p.root().join("build-dir").assert_build_dir_layout(str![[r#" [ROOT]/foo/build-dir/CACHEDIR.TAG [ROOT]/foo/build-dir/debug/.cargo-lock -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo.txt +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/build_script_build[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/build_script_build[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/build-script-build[EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo @@ -292,14 +296,10 @@ fn build_script_should_output_to_build_dir() { [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-build-script-build-script-build [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/build-script-build-script-build [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/build-script-build-script-build.json -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/build_script_build[..].d -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/build_script_build[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/build-script-build[EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/build-script/out/foo.txt -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/build-script/invoked.timestamp -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/build-script/output -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/build-script/root-output -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/build-script/stderr +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/run/invoked.timestamp +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/run/output +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/run/root-output +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/run/stderr [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock @@ -342,12 +342,12 @@ fn cargo_tmpdir_should_output_to_build_dir() { p.root().join("build-dir").assert_build_dir_layout(str![[r#" [ROOT]/foo/build-dir/CACHEDIR.TAG [ROOT]/foo/build-dir/debug/.cargo-lock -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo-[HASH].d -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo.d -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo-[HASH][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo-[HASH].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo.d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo-[HASH][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-test-bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/test-bin-foo @@ -406,8 +406,8 @@ fn examples_should_output_to_build_dir_and_uplift_to_target_dir() { [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/example-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/example-foo.json [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -448,10 +448,10 @@ fn benches_should_output_to_build_dir() { p.root().join("build-dir").assert_build_dir_layout(str![[r#" [ROOT]/foo/build-dir/CACHEDIR.TAG [ROOT]/foo/build-dir/debug/.cargo-lock -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo-[HASH].d -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo-[HASH][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo-[HASH].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo-[HASH][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-test-bench-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/test-bench-foo @@ -531,8 +531,8 @@ fn cargo_package_should_build_in_build_dir_and_output_to_target_dir() { [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock [ROOT]/foo/build-dir/debug/foo[EXE] [ROOT]/foo/build-dir/debug/foo.d @@ -612,8 +612,8 @@ fn cargo_clean_should_clean_the_target_dir_and_build_dir() { [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -678,15 +678,15 @@ fn cargo_clean_should_remove_correct_files() { [ROOT]/foo/build-dir/.rustc_info.json [ROOT]/foo/build-dir/CACHEDIR.TAG [ROOT]/foo/build-dir/debug/.cargo-lock -[ROOT]/foo/build-dir/debug/build/bar/[HASH]/deps/bar-[HASH].d -[ROOT]/foo/build-dir/debug/build/bar/[HASH]/deps/libbar-[HASH].rlib -[ROOT]/foo/build-dir/debug/build/bar/[HASH]/deps/libbar-[HASH].rmeta +[ROOT]/foo/build-dir/debug/build/bar/[HASH]/out/bar-[HASH].d +[ROOT]/foo/build-dir/debug/build/bar/[HASH]/out/libbar-[HASH].rlib +[ROOT]/foo/build-dir/debug/build/bar/[HASH]/out/libbar-[HASH].rmeta [ROOT]/foo/build-dir/debug/build/bar/[HASH]/fingerprint/dep-lib-bar [ROOT]/foo/build-dir/debug/build/bar/[HASH]/fingerprint/invoked.timestamp [ROOT]/foo/build-dir/debug/build/bar/[HASH]/fingerprint/lib-bar [ROOT]/foo/build-dir/debug/build/bar/[HASH]/fingerprint/lib-bar.json -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo @@ -705,8 +705,8 @@ fn cargo_clean_should_remove_correct_files() { [ROOT]/foo/build-dir/.rustc_info.json [ROOT]/foo/build-dir/CACHEDIR.TAG [ROOT]/foo/build-dir/debug/.cargo-lock -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo @@ -845,8 +845,8 @@ fn template_workspace_root() { [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -893,8 +893,8 @@ fn template_cargo_cache_home() { [ROOT]/home/.cargo/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/home/.cargo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/home/.cargo/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/home/.cargo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/home/.cargo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/home/.cargo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/home/.cargo/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/home/.cargo/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -955,8 +955,8 @@ fn template_workspace_path_hash() { [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/bin-foo.json [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp -[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/out/foo[..].d [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -1023,8 +1023,8 @@ fn template_workspace_path_hash_should_handle_symlink() { [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/lib-foo [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/lib-foo.json -[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/deps/foo-[HASH].d -[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/deps/libfoo-[HASH].rmeta +[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/out/foo-[HASH].d +[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/out/libfoo-[HASH].rmeta [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -1062,8 +1062,8 @@ fn template_workspace_path_hash_should_handle_symlink() { [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/invoked.timestamp [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/lib-foo [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/fingerprint/lib-foo.json -[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/deps/foo-[HASH].d -[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/deps/libfoo-[HASH].rmeta +[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/out/foo-[HASH].d +[ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/out/libfoo-[HASH].rmeta [ROOT]/foo/foo/[HASH]/build-dir/debug/build/foo/[HASH]/.lock "#]]); @@ -1201,8 +1201,8 @@ CARGO_BIN_FILE_BAR_bar=[ROOT]/foo/build-dir/debug/build/bar/[HASH]/artifact/bin/ [ROOT]/foo/build-dir/debug/build/foo/[HASH]/fingerprint/dep-bin-foo [ROOT]/foo/build-dir/debug/build/bar/[HASH]/artifact/bin/bar[..][EXE] [ROOT]/foo/build-dir/debug/build/bar/[HASH]/artifact/bin/bar[..].d -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..][EXE] -[ROOT]/foo/build-dir/debug/build/foo/[HASH]/deps/foo[..].d +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..][EXE] +[ROOT]/foo/build-dir/debug/build/foo/[HASH]/out/foo[..].d "#]]); diff --git a/tests/testsuite/clean_new_layout.rs b/tests/testsuite/clean_new_layout.rs index fe3609807d9..c2686760191 100644 --- a/tests/testsuite/clean_new_layout.rs +++ b/tests/testsuite/clean_new_layout.rs @@ -126,10 +126,10 @@ fn clean_multiple_packages_in_glob_char_path() { let foo_path = &p.build_dir().join("debug").join("build"); #[cfg(not(target_env = "msvc"))] - let file_glob = "foo/*/deps/foo*"; + let file_glob = "foo/*/out/foo*"; #[cfg(target_env = "msvc")] - let file_glob = "foo/*/deps/foo.pdb"; + let file_glob = "foo/*/out/foo.pdb"; // Assert that build artifacts are produced p.cargo("build") @@ -401,7 +401,7 @@ fn build_script() { .with_stderr_data(str![[r#" [COMPILING] foo v0.0.1 ([ROOT]/foo) [RUNNING] `rustc [..] build.rs [..]` -[RUNNING] `[ROOT]/foo/target/debug/build/foo/[HASH]/deps/build-script-build` +[RUNNING] `[ROOT]/foo/target/debug/build/foo/[HASH]/out/build-script-build` [RUNNING] `rustc [..] src/main.rs [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s @@ -556,7 +556,7 @@ fn clean_remove_rlib_rmeta() { .run(); assert!(p.target_debug_dir().join("libfoo.rlib").exists()); let rmeta = p - .glob("target/debug/build/*/*/deps/*.rmeta") + .glob("target/debug/build/*/*/out/*.rmeta") .next() .unwrap() .unwrap(); @@ -932,7 +932,7 @@ fn clean_spec_reserved() { .run(); assert!(p.target_debug_dir().join("build").is_dir()); let build_test = p - .glob("target/debug/build/*/*/deps/build-*") + .glob("target/debug/build/*/*/out/build-*") .next() .unwrap() .unwrap(); diff --git a/tests/testsuite/doc.rs b/tests/testsuite/doc.rs index cdd923ae77c..1a54f7e3d5d 100644 --- a/tests/testsuite/doc.rs +++ b/tests/testsuite/doc.rs @@ -3249,13 +3249,13 @@ fn mergeable_info_with_deps() { [LOCKING] 1 package to latest compatible version [DOCUMENTING] dep v0.0.0 ([ROOT]/foo/dep) [CHECKING] dep v0.0.0 ([ROOT]/foo/dep) -[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out [..]` [RUNNING] `rustc --crate-name dep [..]` [DOCUMENTING] foo v0.0.0 ([ROOT]/foo) -[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps[..]` +[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out[..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 2 docs for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/foo/index.html @@ -3265,16 +3265,16 @@ fn mergeable_info_with_deps() { assert!(p.root().join("target/doc/foo/index.html").is_file()); assert!(p.root().join("target/doc/dep/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/foo-*/deps/foo.json").count(), 1); - assert_eq!(p.glob("target/debug/build/dep-*/deps/dep.json").count(), 1); + assert_eq!(p.glob("target/debug/build/foo-*/out/foo.json").count(), 1); + assert_eq!(p.glob("target/debug/build/dep-*/out/dep.json").count(), 1); assert_e2e().eq( fs::read_to_string(p.build_dir().join(".rustdoc_fingerprint.json")).unwrap(), str![[r#" { "doc_parts": [ - "debug/build/dep-[HASH]/deps/dep.json", - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/dep-[HASH]/out/dep.json", + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3310,10 +3310,10 @@ fn mergeable_info_no_deps() { [CHECKING] dep v0.0.0 ([ROOT]/foo/dep) [RUNNING] `rustc --crate-name dep --edition=2015 [..]` [DOCUMENTING] foo v0.0.0 ([ROOT]/foo) -[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/foo/index.html @@ -3323,15 +3323,15 @@ fn mergeable_info_no_deps() { assert!(p.root().join("target/doc/foo/index.html").is_file()); assert!(!p.root().join("target/doc/dep/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/foo-*/deps/foo.json").count(), 1); - assert_eq!(p.glob("target/debug/build/dep-*/deps/dep.json").count(), 0); + assert_eq!(p.glob("target/debug/build/foo-*/out/foo.json").count(), 1); + assert_eq!(p.glob("target/debug/build/dep-*/out/dep.json").count(), 0); assert_e2e().eq( fs::read_to_string(p.build_dir().join(".rustdoc_fingerprint.json")).unwrap(), str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3376,14 +3376,14 @@ fn mergeable_info_workspace() { [DOCUMENTING] dep v0.0.0 ([ROOT]/foo/dep) [CHECKING] dep v0.0.0 ([ROOT]/foo/dep) [DOCUMENTING] bar v0.0.0 ([ROOT]/foo/bar) -[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps [..]` -[RUNNING] `rustdoc [..]--crate-name bar [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/bar-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out [..]` +[RUNNING] `rustdoc [..]--crate-name bar [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/bar-[HASH]/out [..]` [RUNNING] `rustc --crate-name dep [..]` [DOCUMENTING] foo v0.0.0 ([ROOT]/foo/foo) -[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 3 docs for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/bar-[HASH]/deps --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/bar-[HASH]/out --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/bar/index.html [GENERATED] [ROOT]/foo/target/doc/dep/index.html @@ -3396,18 +3396,18 @@ fn mergeable_info_workspace() { assert!(p.root().join("target/doc/foo/index.html").is_file()); assert!(p.root().join("target/doc/bar/index.html").is_file()); assert!(p.root().join("target/doc/dep/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/foo-*/deps/foo.json").count(), 1); - assert_eq!(p.glob("target/debug/build/bar-*/deps/bar.json").count(), 1); - assert_eq!(p.glob("target/debug/build/dep-*/deps/dep.json").count(), 1); + assert_eq!(p.glob("target/debug/build/foo-*/out/foo.json").count(), 1); + assert_eq!(p.glob("target/debug/build/bar-*/out/bar.json").count(), 1); + assert_eq!(p.glob("target/debug/build/dep-*/out/dep.json").count(), 1); assert_e2e().eq( fs::read_to_string(p.build_dir().join(".rustdoc_fingerprint.json")).unwrap(), str![[r#" { "doc_parts": [ - "debug/build/bar-[HASH]/deps/bar.json", - "debug/build/dep-[HASH]/deps/dep.json", - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/bar-[HASH]/out/bar.json", + "debug/build/dep-[HASH]/out/dep.json", + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3443,13 +3443,13 @@ fn mergeable_info_multi_targets() { .with_stderr_data( str![[r#" [DOCUMENTING] foo v0.0.0 ([ROOT]/foo) -[RUNNING] `rustdoc [..]--crate-name foo src/lib.rs --target [HOST_TARGET] [..]--merge=none --parts-out-dir=[ROOT]/foo/target/[HOST_TARGET]/debug/build/foo-[HASH]/deps [..]` -[RUNNING] `rustdoc [..]--crate-name foo src/lib.rs --target [ALT_TARGET] [..]--merge=none --parts-out-dir=[ROOT]/foo/target/[ALT_TARGET]/debug/build/foo-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name foo src/lib.rs --target [HOST_TARGET] [..]--merge=none --parts-out-dir=[ROOT]/foo/target/[HOST_TARGET]/debug/build/foo-[HASH]/out [..]` +[RUNNING] `rustdoc [..]--crate-name foo src/lib.rs --target [ALT_TARGET] [..]--merge=none --parts-out-dir=[ROOT]/foo/target/[ALT_TARGET]/debug/build/foo-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for [ALT_TARGET] -[RUNNING] `rustdoc -o [ROOT]/foo/target/[ALT_TARGET]/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/[ALT_TARGET]/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/[ALT_TARGET]/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/[ALT_TARGET]/debug/build/foo-[HASH]/out` [MERGING] 1 doc for [HOST_TARGET] -[RUNNING] `rustdoc -o [ROOT]/foo/target/[HOST_TARGET]/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/[HOST_TARGET]/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/[HOST_TARGET]/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/[HOST_TARGET]/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/[HOST_TARGET]/doc/foo/index.html [GENERATED] [ROOT]/foo/target/[ALT_TARGET]/doc/foo/index.html @@ -3464,9 +3464,9 @@ fn mergeable_info_multi_targets() { assert!(p.root().join(path).is_file()); let path = format!("target/{target}/doc/foo/index.html"); assert!(p.root().join(path).is_file()); - let path = format!("target/{host}/debug/build/foo-*/deps/foo.json"); + let path = format!("target/{host}/debug/build/foo-*/out/foo.json"); assert_eq!(p.glob(path).count(), 1); - let path = format!("target/{target}/debug/build/foo-*/deps/foo.json"); + let path = format!("target/{target}/debug/build/foo-*/out/foo.json"); assert_eq!(p.glob(path).count(), 1); assert_e2e().eq( @@ -3474,7 +3474,7 @@ fn mergeable_info_multi_targets() { str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3487,7 +3487,7 @@ fn mergeable_info_multi_targets() { str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3515,10 +3515,10 @@ fn mergeable_info_rebuild_detection() { .with_stderr_data( str![[r#" [DOCUMENTING] foo v0.0.0 ([ROOT]/foo) -[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/foo/index.html @@ -3527,14 +3527,14 @@ fn mergeable_info_rebuild_detection() { .run(); assert!(p.root().join("target/doc/foo/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/foo-*/deps/foo.json").count(), 1); + assert_eq!(p.glob("target/debug/build/foo-*/out/foo.json").count(), 1); assert_e2e().eq( fs::read_to_string(p.build_dir().join(".rustdoc_fingerprint.json")).unwrap(), str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3561,7 +3561,7 @@ fn mergeable_info_rebuild_detection() { str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3579,10 +3579,10 @@ fn mergeable_info_rebuild_detection() { str![[r#" [DIRTY] foo v0.0.0 ([ROOT]/foo): the precalculated components changed [DOCUMENTING] foo v0.0.0 ([ROOT]/foo) -[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/foo/index.html @@ -3622,7 +3622,7 @@ fn mergeable_info_rebuild_detection() { str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3653,10 +3653,10 @@ fn mergeable_info_rebuild_with_depinfo() { .with_stderr_data( str![[r#" [DOCUMENTING] foo v0.0.0 ([ROOT]/foo) -[RUNNING] `rustdoc [..]--crate-name foo [..]--emit=invocation-specific,dep-info=[..] --merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name foo [..]--emit=invocation-specific,dep-info=[..] --merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/foo/index.html @@ -3665,14 +3665,14 @@ fn mergeable_info_rebuild_with_depinfo() { .run(); assert!(p.root().join("target/doc/foo/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/foo-*/deps/foo.json").count(), 1); + assert_eq!(p.glob("target/debug/build/foo-*/out/foo.json").count(), 1); assert_e2e().eq( fs::read_to_string(p.build_dir().join(".rustdoc_fingerprint.json")).unwrap(), str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3699,7 +3699,7 @@ fn mergeable_info_rebuild_with_depinfo() { str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3717,10 +3717,10 @@ fn mergeable_info_rebuild_with_depinfo() { str![[r#" [DIRTY] foo v0.0.0 ([ROOT]/foo): the file `src/lib.rs` has changed ([TIME_DIFF_AFTER_LAST_BUILD]) [DOCUMENTING] foo v0.0.0 ([ROOT]/foo) -[RUNNING] `rustdoc [..]--crate-name foo [..]--emit=invocation-specific,dep-info=[..] --merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name foo [..]--emit=invocation-specific,dep-info=[..] --merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/foo/index.html @@ -3760,7 +3760,7 @@ fn mergeable_info_rebuild_with_depinfo() { str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3805,10 +3805,10 @@ fn mergeable_info_additive() { [CHECKING] dep v0.0.0 ([ROOT]/foo/dep) [RUNNING] `rustc --crate-name dep [..]` [DOCUMENTING] foo v0.0.0 ([ROOT]/foo/foo) -[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name foo [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/foo/index.html @@ -3819,16 +3819,16 @@ fn mergeable_info_additive() { assert!(p.root().join("target/doc/foo/index.html").is_file()); assert!(!p.root().join("target/doc/bar/index.html").is_file()); assert!(!p.root().join("target/doc/dep/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/foo-*/deps/foo.json").count(), 1); - assert_eq!(p.glob("target/debug/build/bar-*/deps/bar.json").count(), 0); - assert_eq!(p.glob("target/debug/build/dep-*/deps/dep.json").count(), 0); + assert_eq!(p.glob("target/debug/build/foo-*/out/foo.json").count(), 1); + assert_eq!(p.glob("target/debug/build/bar-*/out/bar.json").count(), 0); + assert_eq!(p.glob("target/debug/build/dep-*/out/dep.json").count(), 0); assert_e2e().eq( fs::read_to_string(p.build_dir().join(".rustdoc_fingerprint.json")).unwrap(), str![[r#" { "doc_parts": [ - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3841,10 +3841,10 @@ fn mergeable_info_additive() { .with_stderr_data( str![[r#" [DOCUMENTING] dep v0.0.0 ([ROOT]/foo/dep) -[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 2 docs for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/dep/index.html @@ -3855,17 +3855,17 @@ fn mergeable_info_additive() { assert!(p.root().join("target/doc/foo/index.html").is_file()); assert!(!p.root().join("target/doc/bar/index.html").is_file()); assert!(p.root().join("target/doc/dep/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/foo-*/deps/foo.json").count(), 1); - assert_eq!(p.glob("target/debug/build/bar-*/deps/bar.json").count(), 0); - assert_eq!(p.glob("target/debug/build/dep-*/deps/dep.json").count(), 1); + assert_eq!(p.glob("target/debug/build/foo-*/out/foo.json").count(), 1); + assert_eq!(p.glob("target/debug/build/bar-*/out/bar.json").count(), 0); + assert_eq!(p.glob("target/debug/build/dep-*/out/dep.json").count(), 1); assert_e2e().eq( fs::read_to_string(p.build_dir().join(".rustdoc_fingerprint.json")).unwrap(), str![[r#" { "doc_parts": [ - "debug/build/dep-[HASH]/deps/dep.json", - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/dep-[HASH]/out/dep.json", + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3878,10 +3878,10 @@ fn mergeable_info_additive() { .with_stderr_data( str![[r#" [DOCUMENTING] bar v0.0.0 ([ROOT]/foo/bar) -[RUNNING] `rustdoc [..]--crate-name bar [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/bar-[HASH]/deps [..]` +[RUNNING] `rustdoc [..]--crate-name bar [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/bar-[HASH]/out [..]` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 3 docs for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/bar-[HASH]/deps --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/bar-[HASH]/out --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out --include-parts-dir=[ROOT]/foo/target/debug/build/foo-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/bar/index.html @@ -3892,18 +3892,18 @@ fn mergeable_info_additive() { assert!(p.root().join("target/doc/foo/index.html").is_file()); assert!(p.root().join("target/doc/bar/index.html").is_file()); assert!(p.root().join("target/doc/dep/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/foo-*/deps/foo.json").count(), 1); - assert_eq!(p.glob("target/debug/build/bar-*/deps/bar.json").count(), 1); - assert_eq!(p.glob("target/debug/build/dep-*/deps/dep.json").count(), 1); + assert_eq!(p.glob("target/debug/build/foo-*/out/foo.json").count(), 1); + assert_eq!(p.glob("target/debug/build/bar-*/out/bar.json").count(), 1); + assert_eq!(p.glob("target/debug/build/dep-*/out/dep.json").count(), 1); assert_e2e().eq( fs::read_to_string(p.build_dir().join(".rustdoc_fingerprint.json")).unwrap(), str![[r#" { "doc_parts": [ - "debug/build/bar-[HASH]/deps/bar.json", - "debug/build/dep-[HASH]/deps/dep.json", - "debug/build/foo-[HASH]/deps/foo.json" + "debug/build/bar-[HASH]/out/bar.json", + "debug/build/dep-[HASH]/out/dep.json", + "debug/build/foo-[HASH]/out/foo.json" ], "rustc_vv": "{...}" } @@ -3954,10 +3954,10 @@ fn mergeable_info_dep_collision() { [DOWNLOADED] dep v0.2.0 (registry `dummy-registry`) [DOWNLOADED] dep v0.1.0 (registry `dummy-registry`) [DOCUMENTING] dep v0.1.0 -[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps [..]--crate-version 0.1.0` +[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out [..]--crate-version 0.1.0` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/dep/index.html @@ -3966,7 +3966,7 @@ fn mergeable_info_dep_collision() { .run(); assert!(p.root().join("target/doc/dep/index.html").is_file()); - assert_eq!(p.glob("target/debug/build/dep-*/deps/dep.json").count(), 1); + assert_eq!(p.glob("target/debug/build/dep-*/out/dep.json").count(), 1); // See `fn dep010()` assert!(p.build_dir().join("doc/dep/fn.dep010.html").exists()); @@ -3979,7 +3979,7 @@ fn mergeable_info_dep_collision() { str![[r#" { "doc_parts": [ - "debug/build/dep-[HASH]/deps/dep.json" + "debug/build/dep-[HASH]/out/dep.json" ], "rustc_vv": "{...}" } @@ -3993,10 +3993,10 @@ fn mergeable_info_dep_collision() { .with_stderr_data( str![[r#" [DOCUMENTING] dep v0.2.0 -[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps [..]--crate-version 0.2.0` +[RUNNING] `rustdoc [..]--crate-name dep [..]--merge=none --parts-out-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out [..]--crate-version 0.2.0` [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s [MERGING] 1 doc for host -[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/deps` +[RUNNING] `rustdoc -o [ROOT]/foo/target/doc -Zunstable-options --merge=finalize --include-parts-dir=[ROOT]/foo/target/debug/build/dep-[HASH]/out` [FINISHED] documentation merge in [ELAPSED]s [GENERATED] [ROOT]/foo/target/doc/dep/index.html @@ -4006,7 +4006,7 @@ fn mergeable_info_dep_collision() { assert!(p.root().join("target/doc/dep/index.html").is_file()); // We'll have two dep.json - assert_eq!(p.glob("target/debug/build/dep-*/deps/dep.json").count(), 2); + assert_eq!(p.glob("target/debug/build/dep-*/out/dep.json").count(), 2); // ...but only the selected dep@0.2.0 would be merged assert!(!p.build_dir().join("doc/dep/fn.dep010.html").exists()); @@ -4019,7 +4019,7 @@ fn mergeable_info_dep_collision() { str![[r#" { "doc_parts": [ - "debug/build/dep-[HASH]/deps/dep.json" + "debug/build/dep-[HASH]/out/dep.json" ], "rustc_vv": "{...}" }