anki/cargo
2021-03-27 19:28:19 +10:00
..
remote update to the latest rules_rust + security framework update 2021-03-27 19:28:19 +10:00
BUILD.bazel update to the latest rules_rust + security framework update 2021-03-27 19:28:19 +10:00
BUILD.reqwest.bazel update to the latest rules_rust + security framework update 2021-03-27 19:28:19 +10:00
crates.bzl update to the latest rules_rust + security framework update 2021-03-27 19:28:19 +10:00
licenses.json update to the latest rules_rust + security framework update 2021-03-27 19:28:19 +10:00
README.md update cargo/README.md 2021-03-27 14:56:51 +10:00
update.py update Rust deps 2021-03-27 14:47:16 +10:00

This folder integrates Rust crates.io fetching into Bazel.

To update dependencies, ensure a local Rust environment is available (eg install rustup), then run:

cargo install cargo-raze --version 0.8.0
cargo install cargo-license

After updating dependencies in ../rslib/Cargo.toml, change to this folder and run python update.py to update the external Bazel repositories to point to the updated deps.

A couple of crates need extra work to build with Bazel, and are listed in ../Cargo.toml. For example:

[package.metadata.raze.crates.pyo3.'*']
compile_data_attr = "glob([\"**\"])"

With minor version updates, you should not normally need to modify the entries in that file.

Because update.py modifies a lot of files in remote/, it makes it difficult to review in a PR, and the changes can sometimes break platforms like Windows. For this reason, please don't submit PRs that do minor version bumps - those will typically be done after stable releases. If you need a new crate for a feature you're working on, please raise it in an issue first.