Open Bug 1361734 Opened 9 years ago Updated 1 year ago

mach vendor rust should be able to update a particular crate only

Categories

(Firefox Build System :: General, enhancement)

enhancement

Tracking

(Not tracked)

People

(Reporter: hsivonen, Unassigned)

Details

I asked on dev-platform: >> I have toolkit/library/rust/shared/Cargo.toml depending on a crates.io >> crate encoding_c, which depends on encoding_rs. >> >> Then I update the minor version of encoding_rs on crates.io but don't >> update encoding_c. >> >> Now if I re-run ./mach vendor rust, nothing happens, because I didn't >> change the encoding_c dependency version in >> toolkit/library/rust/shared/Cargo.toml to force the dependencies to be >> unsatisfied. >> >> If, instead, I delete toolkit/library/rust/shared/Cargo.lock and then >> run ./mach vendor rust, I get minor version updates to all crates in >> the dependency graph that have changed since they were vendored. >> >> Other than manually merging lock files and unstaging unrelated crate >> changes, how do I scope the re-vendoring to encoding_rs only? And Kartikaya Gupta replied: > cd toolkit/library/rust > cargo update -p encoding_rs --precise <version> > cd ../gtest/rust > cargo update -p encoding_rs --precise <version> > cd ../../../../ > mach vendor rust ...which works, but isn't a good user experience. Please make mach vendor rust take an optional parameter to update a particular crate only (i.e. automate the cargo update -p foo --precise x.y.z bits above).
Component: mach → Build Config
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.