From 97993943755fb1670fca6d216565adb69db2687b Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Wed, 14 Mar 2018 21:02:05 +0000 Subject: maint: Add script for vendoring/updating Rust dependencies. * ADD documentation for usage both inside the script and in doc/HACKING/CodingStandardsRust.md * FIXES part of #25310: https://bugs.torproject.org/25310 --- doc/HACKING/CodingStandardsRust.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'doc/HACKING/CodingStandardsRust.md') diff --git a/doc/HACKING/CodingStandardsRust.md b/doc/HACKING/CodingStandardsRust.md index 915d37e006..7c6405e624 100644 --- a/doc/HACKING/CodingStandardsRust.md +++ b/doc/HACKING/CodingStandardsRust.md @@ -81,6 +81,26 @@ Currently, Tor requires that you use the latest stable Rust version. At some point in the future, we will freeze on a given stable Rust version, to ensure backward compatibility with stable distributions that ship it. + Updating/Adding Dependencies +------------------------------ + +To add/remove/update dependencies, first add your dependencies, +exactly specifying their versions, into the appropriate *crate-level* +`Cargo.toml` in `src/rust/` (i.e. *not* `/src/rust/Cargo.toml`, but +instead the one for your crate). Also, investigate whether your +dependency has any optional dependencies which are unnecessary but are +enabled by default. If so, you'll likely be able to enable/disable +them via some feature, e.g.: + +```toml +[dependencies] +foo = { version = "1.0.0", default-features = false } +``` + +Next, run `/scripts/maint/updateRustDependencies.sh`. Then, go into +`src/ext/rust` and commit the changes to the `tor-rust-dependencies` +repo. + Documentation --------------- -- cgit v1.2.3-54-g00ecf