Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #16412 - lnicola:sync-from-rust, r=lnicola
internal: Sync from downstream
bors 2024-01-22
parent 47b0f46 · parent 5607714 · commit d410d4a
-rw-r--r--crates/proc-macro-srv/proc-macro-test/build.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/crates/proc-macro-srv/proc-macro-test/build.rs b/crates/proc-macro-srv/proc-macro-test/build.rs
index 6cf2b5643e..c9b605a808 100644
--- a/crates/proc-macro-srv/proc-macro-test/build.rs
+++ b/crates/proc-macro-srv/proc-macro-test/build.rs
@@ -92,12 +92,26 @@ fn main() {
panic!("proc-macro-test-impl failed to build");
}
+ // Old Package ID Spec
+ let repr = format!("{name} {version}");
+ // New Package Id Spec since rust-lang/cargo#13311
+ let pkgid = String::from_utf8(
+ Command::new(toolchain::cargo())
+ .current_dir(&staging_dir)
+ .args(["pkgid", name])
+ .output()
+ .unwrap()
+ .stdout,
+ )
+ .unwrap();
+ let pkgid = pkgid.trim();
+
let mut artifact_path = None;
for message in Message::parse_stream(output.stdout.as_slice()) {
if let Message::CompilerArtifact(artifact) = message.unwrap() {
if artifact.target.kind.contains(&"proc-macro".to_string()) {
- let repr = format!("{name} {version}");
- if artifact.package_id.repr.starts_with(&repr) {
+ if artifact.package_id.repr.starts_with(&repr) || artifact.package_id.repr == pkgid
+ {
artifact_path = Some(PathBuf::from(&artifact.filenames[0]));
}
}