A sandbox for building a Rust apps using bazel.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cargo
src
.gitignore
BUILD
README.md
WORKSPACE

README.md

Abstract

Rust を Bazel でビルドする実験リポジトリです。

Dependencies

Notice

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 以外は自動生成されます。

Usage

1. cargo raze のインストール

$ cargo install cargo-raze

2. Cargo.toml cargo raze の設定を追記

:
[raze]
workspace_path = "//cargo"
target = "x86_64-apple-darwin"
genmode = "Remote"

3. cargo raze の実行

cd ./cargo
cargo raze

remote/いろいろ , BUILD , crates.bzl が生成されます。

4. WORKSPACE に リモート・ライブラリのフェッチ関数を追記

load("//cargo:crates.bzl", "raze_fetch_remote_crates")

raze_fetch_remote_crates()

5. bazel build

bazel build //:rust_bazel_sandbox