Add allow_empty to glob, as the patterns don't necessarily match something (#245) * Add allow_empty to glob, as the patterns don't necessarily match something This is needed for the change in Bazel --incompatible_disallow_empty_glob * Update dependency on bazel_toolchains This provides additional Bazel compatibility fixes (--incompatible_restrict_string_escapes)
This repository provides rules for building Rust projects with Bazel.
with an overview here.
To use the Rust rules, add the following to your WORKSPACE file to add the external repositories for the Rust toolchain:
http_archive( name = "io_bazel_rules_rust", sha256 = "c82118824b2448b77146f1dae97b6eaa717babedad0822aca4879f3cbbf2b7b5", strip_prefix = "rules_rust-3228ccd3814c2ad0d7307d2f87fb8ff9616149d7", urls = [ # Master branch as of 2018-12-11 "https://github.com/bazelbuild/rules_rust/archive/3228ccd3814c2ad0d7307d2f87fb8ff9616149d7.tar.gz", ], ) http_archive( name = "bazel_skylib", sha256 = "eb5c57e4c12e68c0c20bc774bfbc60a568e800d025557bc4ea022c6479acc867", strip_prefix = "bazel-skylib-0.6.0", url = "https://github.com/bazelbuild/bazel-skylib/archive/0.6.0.tar.gz", ) load("@io_bazel_rules_rust//rust:repositories.bzl", "rust_repositories") rust_repositories() load("@io_bazel_rules_rust//:workspace.bzl", "bazel_version") bazel_version(name = "bazel_version")
The rules are under active development, as such the lastest commit on the master branch should be used. master currently requires Bazel >= 0.17.0.
Currently the most common approach to managing external dependencies is using cargo-raze to generate BUILD files for Cargo crates.
cargo_crate workspace rule for pulling crates from Cargo.