Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 044b6dd

Browse files
committed
Auto merge of rust-lang#12465 - Veykril:buildscripts, r=Veykril
internal: Only record build script outputs when the output has been changed Follow up to rust-lang/rust-analyzer#12457
2 parents 312913a + 62fede2 commit 044b6dd

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

crates/project-model/src/build_scripts.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -142,18 +142,18 @@ impl WorkspaceBuildScripts {
142142
}
143143
acc
144144
};
145-
let package_build_data =
146-
outputs[package].get_or_insert_with(Default::default);
147145
// cargo_metadata crate returns default (empty) path for
148146
// older cargos, which is not absolute, so work around that.
149-
if !message.out_dir.as_str().is_empty() {
150-
let out_dir =
151-
AbsPathBuf::assert(PathBuf::from(message.out_dir.into_os_string()));
152-
package_build_data.out_dir = Some(out_dir);
153-
package_build_data.cfgs = cfgs;
147+
let out_dir = message.out_dir.into_os_string();
148+
if !out_dir.is_empty() {
149+
let data = outputs[package].get_or_insert_with(Default::default);
150+
let out_dir = Some(AbsPathBuf::assert(PathBuf::from(out_dir)));
151+
(data.out_dir, data.cfgs) = (out_dir, cfgs);
152+
}
153+
if !message.env.is_empty() {
154+
outputs[package].get_or_insert_with(Default::default).envs =
155+
message.env;
154156
}
155-
156-
package_build_data.envs = message.env;
157157
}
158158
Message::CompilerArtifact(message) => {
159159
let package = match by_id.get(&message.package_id.repr) {
@@ -195,7 +195,7 @@ impl WorkspaceBuildScripts {
195195
for package in workspace.packages() {
196196
if let Some(package_build_data) = &mut outputs[package] {
197197
tracing::info!(
198-
"{} BuildScriptOutput: {:?}",
198+
"{}: {:?}",
199199
workspace[package].manifest.parent().display(),
200200
package_build_data,
201201
);

0 commit comments

Comments
 (0)