Rust を Bazel でビルドする実験リポジトリです。
- Rust =
1.24.1
- bazel =
0.11.1
- bazelbuild/rules_rust =
latest
- google/cargo-raze =
latest
bazel で ビルドを行うため、通常のRustアプリケーションとは異なるディレクトリ構成になっています。
tree
.
├── BUILD *1
├── README.md
├── WORKSPACE
├── cargo
│ ├── BUILD *2
│ ├── Cargo.lock
│ ├── Cargo.toml
│ ├── crates.bzl
│ └── remote
└── src
└── main.rs
BUILD *1 は rules_rust を使って私が作成したファイルで、BUILD *2 は cargo-raze が自動生成したファイルになります。
※ cargo/
以下は、 Cargo.toml
以外は自動生成されます。
$ cargo install cargo-raze
:
[raze]
workspace_path = "//cargo"
target = "x86_64-apple-darwin"
genmode = "Remote"
cd ./cargo
cargo raze
remote/いろいろ
, BUILD
, crates.bzl
が生成されます。
load("//cargo:crates.bzl", "raze_fetch_remote_crates")
raze_fetch_remote_crates()
bazel build //:rust_bazel_sandbox