build(router_env): obtain workspace member package names from cargo_metadata
more deterministically
#4227
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Type of Change
Description
ORIGINAL PR: #4139
This PR updates the build script code to obtain cargo workspace member package names to use a better and more deterministic way to do so.
Previously, we used to perform string manipulation on the package ID format (obtained from the
workspace_members
field incargo metadata --format-version=1
), and the package ID format was not stabilized (until recently). The package ID format has been stabilized in Rust 1.77, and the stabilized format breaks our existing build scripts. This PR updates the build script code to instead obtain the workspace member package names using theMetadata::workspace_packages()
method that thecargo_metadata
crate provides.Motivation and Context
This would fix builds from breaking once Rust 1.77 is released as the stable version on March 21st, 2024.
Fixes #4137.
How did you test it?
cargo run
was successful with both Rust 1.76 and 1.77 (although with warnings).I installed the Rust 1.77 toolchain by following the instructions from the Rust 1.77.0 pre-release testing blog post.
Checklist
cargo +nightly fmt --all
cargo clippy