download targeted transitive deps of with artifact deps' target platform#14723
Merged
bors merged 3 commits intorust-lang:masterfrom Oct 30, 2024
Merged
download targeted transitive deps of with artifact deps' target platform#14723bors merged 3 commits intorust-lang:masterfrom
bors merged 3 commits intorust-lang:masterfrom
Conversation
elchukc
commented
Oct 23, 2024
17f5797 to
dd0a20d
Compare
epage
reviewed
Oct 30, 2024
weihanglo
reviewed
Oct 30, 2024
| pkg_id: PackageId, | ||
| has_dev_units: HasDevUnits, | ||
| requested_kinds: &[CompileKind], | ||
| requested_kind: CompileKind, |
Member
There was a problem hiding this comment.
This seems mostly correct to me. Cargo allows only one target platform per artifact deps. Thanks folks. 👍🏾
With this RFC the approach here might still have some issues but it is not even landed yet so no need to worry
https://rust-lang.github.io/rfcs/3176-cargo-multi-dep-artifacts.html
Contributor
There was a problem hiding this comment.
What we would do in that situation is just call collect_used_deps for each target. This errs on the side of walking the tree multiple times, once for each target, rather than trying to keep state so that we only walk once.
elchukc
commented
Oct 30, 2024
dd0a20d to
2b7414a
Compare
epage
reviewed
Oct 30, 2024
2b7414a to
77a7041
Compare
elchukc
commented
Oct 30, 2024
77a7041 to
d125262
Compare
Contributor
|
Thanks! @bors r+ |
Contributor
Contributor
Contributor
|
☀️ Test successful - checks-actions |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Nov 2, 2024
Update cargo 18 commits in e75214ea4936d2f2c909a71a1237042cc0e14b07..0310497822a7a673a330a5dd068b7aaa579a265e 2024-10-25 16:34:32 +0000 to 2024-11-01 19:27:56 +0000 - Add more metadata to `rustc_fingerprint` (rust-lang/cargo#14761) - test(rustfix): switch to a simpler case for dedup-suggestions (rust-lang/cargo#14765) - chore(deps): update rust crate security-framework to v3 (rust-lang/cargo#14766) - chore(deps): update rust crate gix to 0.67.0 (rust-lang/cargo#14762) - fix(util): Respect all `..`s in `normalize_path` (rust-lang/cargo#14750) - test(doc): Resolve flaky test (rust-lang/cargo#14760) - refactor(test): Remove dead 'expect_stdout_contains_n' check (rust-lang/cargo#14759) - add unstable -Zroot-dir flag to configure the path from which rustc should be invoked (rust-lang/cargo#14752) - docs(resolver): Further v3 prep (rust-lang/cargo#14753) - fix: track version in fingerprint dep-info files (rust-lang/cargo#14751) - test: Remove unused msrv-policy (rust-lang/cargo#14748) - download targeted transitive deps of with artifact deps' target platform (rust-lang/cargo#14723) - Remove requirement for --target when invoking Cargo with -Zbuild-std (rust-lang/cargo#14317) - docs(fingerprint): document the encoding of Cargo's depinfo (rust-lang/cargo#14745) - Allow build scripts to report error messages through `cargo::error` (rust-lang/cargo#14743) - fix(publish): Downgrade version-exists error to warning on dry-run (rust-lang/cargo#14742) - fix: clean up for deprecated and removed commands (rust-lang/cargo#14739) - Deprecate `cargo verify-project` (rust-lang/cargo#14736)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What does this PR try to resolve?
Fixes #12554.
download_accessiblewill now download platform-specified deps of artifact deps withtarget = ....It will also resolve the panic in
cargo tree -Z bindepsin #10593 (comment), where:Essentially,
no entry found for keywas happening because for artifact deps with{.., target = <target>}, transitive deps that specified their platform as<target>were not downloaded. This is why adding--target alltocargo tree -Z bindepsmade the bug dissapear.How should we test and review this PR?
Tests included in this PR should be enough.
Testartifact_dep::proc_macro_in_artifact_depstill throws; this PR will be ready for review once the test does not panic.Additional Information
usedset needs to be target-awarer? @weihanglo