-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rust: Make dependencies visible #18684
rust: Make dependencies visible #18684
Conversation
Is this still relevant? |
Changes pulled by this are: * add hashes to riot-sys headers <RIOT-OS/rust-riot-sys#43> * administrative changes (riot-sys 0.7.11, CI fixes)
All changes appear to be minor; some crates that were previously part of the build dependencies twice can now be shared between build dependencies.
Changes pulled by this are: * optimizations around panicking <RIOT-OS/rust-riot-wrappers#82> * administrative changes (CI fixes)
6075f78
to
a5d18fb
Compare
It still is, and I completely forgot about it. Thanks for pinging me -- it is now rebased (with only one commit left because master is sufficiently up to date). Unless anything happens in CI, this should be good to go. |
a5d18fb
to
1c2c65b
Compare
The Cargo.lock of rust_riotmodules_standalone should explicitly list all versions of software that would ever be pulled in by enabling RIOT modules backed by a Rust crate. That way, the Cargo.lock file will not spontaneously change because the software is being built with a different set of modules enabled. This did not happen before, because while the optional dependencies could all be selected on the command line, they were not visible as possible features to `cargo update`, and were thus not encoded in the Cargo.lock file.
1c2c65b
to
a5c9ac2
Compare
... and force pushed because this would have conflicted with #20489 that is already in the merge queue. (So, ignore the first 3 commits; by the time this gets merged, only the latest commit should be new relative to master.) |
Sorry, #20438 will never get in if every merge conflicts and kicks it out. I will requeue when ready. |
sure, take priority for that. can you reenable once done so i get pinged to resolve?
|
Contribution description
The Cargo.lock of rust_riotmodules_standalone should explicitly list all
versions of software that would ever be pulled in by enabling RIOT
modules backed by a Rust crate. This did not happen before, because
while the optional dependencies could all be selected on the command
line, they were not visible as possible features to
cargo update
, andwere thus not encoded in the Cargo.lock file.
Testing procedure
CI is probably good enough, but to understand what it does, look at
cargo tree --all-features
insys/rust_riotmodules_standalone
before and after -- and compare those with the output ofmake
intests/rust_libs
. You will see that before,cargo tree -all-features
did not show thelsm303agr
crate as a listed dependency, even though themake
output clearly illustrates that it is being pulled in. After, all crates used will also be shown incargo tree
.These
cargo tree
outputs also align with the content of the Cargo.lock files before and after.Issues/PRs references
This should probably have been done right in #16833 -- sorry for the oversight.
This PR is built on #18683 -- so while that's not in, please ignore the first commit.