Rust in Thunderbird
Thunderbird now builds gkrust as its own library, using gkrust-shared
from upstream (Gecko) allowing for Thunderbird-only Rust crates and components.
Note, however, this is a slightly odd arrangement as Cargo doesn’t support using workspaces within the parent directory. As a result, we must keep track of the first-level dependencies of our crates (ie shallow transitive).
Updating dependencies
./mach tb-rust sync
Sync the vendored dependencies
When crate dependencies change, we need to synchronise the dependencies. This is done to support use from the root of mozilla-central and account for all crate dependencies.
./mach tb-rust vendor
Do not directly modify comm/rust/.cargo/* !