1 # Rust third-party code
3 Use of Rust is being experimented with. As such, code outside of that experiment
4 should not depend on targets in this directory.
8 We store each third-party crate in a directory of the same name. Under
9 that directory a folder named based on the crate epoch version is created.
10 If the crate's version has a major version greater-than 0, then that is used
11 as its version folder, such as `v1`. Otherwise, the name includes all
12 leading zeros in the version, such as `v0_3` or `v0_0_6`.
14 For example, the `tutelage` crate at version **1.4.3** would be stored at
16 //third_party/rust/tutelage/v1
19 Whereas the verion **0.2.8** version would be stored at
21 //third_party/rust/tutelage/v0_2
26 We do not require OWNERS in each crate's directory at this time, however this
27 will be revisted when Rust goes to production.
31 In order to move quickly and reduce our processes, we will vendor third-party
32 code directly into Chromium src.git under this directory.
36 All third-party crates should have their tests added to a Chromium test suite.
37 These tests will be run on the Rust FYI bots, and may move to a blocking bot
38 when Rust goes to production.
42 Contents of the `third_party/rust` directory are managed using the tools under
43 [`tools/crates`](../../tools/crates/README.md). Manual edits should not be
44 needed, except to configure and guide the tools (e.g. via `third_party.toml`).
48 At this time adding new 3rd party crates requires a review by:
50 - `//build/rust/OWNERS`- i.e. a Chrome ATL review is not needed while broader
51 Rust usage is not allowed / while Rust usage remains an experiment.
52 - security@chromium.org (or chrome-security@google.com, Google-only)
53 - Earlier examples of audits/documents/emails that are good role models
54 of the review process: `toml` crate (e.g. see
55 [here](https://groups.google.com/u/1/a/chromium.org/g/security/c/K686pSg-gZc/m/Pn2QzqahAwAJ))
56 - Bug tracking having a more centralized database of crate review
57 status (i.e. leveraging reviews already done by other teams): TODO.