1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

rust: Make dependencies visible

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.
This commit is contained in:
chrysn 2024-03-20 19:40:20 +10:00
parent a0ee4def10
commit a5c9ac2e95
3 changed files with 13 additions and 0 deletions

View File

@ -12,3 +12,8 @@ publish = false
riot-module-lsm303agr = { path = "../../drivers/lsm303agr", optional = true }
riot-module-shell-democommands = { path = "../../sys/shell/democommands", optional = true }
[features]
# This feature is just there so that rust_riotmodules_standalone can use its
# _all; see documentation there.
_all = [ "riot-module-lsm303agr", "riot-module-shell-democommands"]

Binary file not shown.

View File

@ -19,3 +19,11 @@ codegen-units = 1
riot-wrappers = { version = "0.8", features = [ "set_panic_handler" ] }
rust_riotmodules = { path = "../rust_riotmodules" }
[features]
# By having this explicit feature (comapred to what is enabled by the build
# system as `--features rust_riotmodules/foo`), all possible dependencies are
# visible to `cargo update` and in `Cargo.lock. This should not be enabled for
# compilation, as the modules behind it likely have their own RIOT modules they
# need enabled.
_all = [ "rust_riotmodules/_all" ]