生成 gn 构建规则

下载 crate 后,按如下方式生成 BUILD.gn 文件:

vpython3 tools/crates/run_gnrt.py -- gen

现在,运行 git status。您应该会看到:

  • third_party/rust/chromium_crates_io/vendor 中至少包含一个新的 crate 源代码
  • third_party/rust/<crate name>/v<major semver version> 中至少包含一个新的 BUILD.gn
  • 相应的 README.chromium

The “major semver version” is a Rust “semver” version number.

请仔细观察,尤其是 third_party/rust 中生成的内容。

浅谈下 semver,特别是在 Chromium 中,它支持使用多个不兼容的 crate 版本。虽然在 Cargo 生态系统中不鼓励这种方式,但在某些情况下却是必要的。