Skip to content

Commit

Permalink
Applied rules_rust specific updates to cargo-bazel examples
Browse files Browse the repository at this point in the history
  • Loading branch information
UebelAndre committed Mar 3, 2022
1 parent 11fd265 commit fcbe018
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 31 deletions.
32 changes: 16 additions & 16 deletions .bazelci/presubmit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ default_windows_targets: &default_windows_targets
- "-//test/proto/..."
- "-//tools/rust_analyzer/..."
- "-//test/rustfmt/..."
crate_universe_vendor_example_targets: &crate_universe_vendor_example_targets
- "//vendor_local_manifests:crates_vendor"
- "//vendor_local_pkgs:crates_vendor"
- "//vendor_remote_manifests:crates_vendor_manifests"
- "//vendor_remote_pkgs:crates_vendor_pkgs"
tasks:
ubuntu2004:
build_targets: *default_linux_targets
Expand Down Expand Up @@ -252,6 +257,7 @@ tasks:
environment:
RULES_RUST_CRATE_UNIVERSE_BOOTSTRAP: true
working_directory: examples/crate_universe
run_targets: *crate_universe_vendor_example_targets
build_targets:
- "//..."
test_targets:
Expand All @@ -266,6 +272,7 @@ tasks:
shell_commands:
- sed -i 's/^# load("@bazelci_rules/load("@bazelci_rules/' WORKSPACE.bazel
- sed -i 's/^# rbe_preconfig/rbe_preconfig/' WORKSPACE.bazel
run_targets: *crate_universe_vendor_example_targets
build_targets:
- "//..."
test_targets:
Expand All @@ -274,9 +281,8 @@ tasks:
crate_universe_examples_macos:
name: Crate Universe Examples
platform: macos
environment:
RULES_RUST_CRATE_UNIVERSE_BOOTSTRAP: true
working_directory: examples/crate_universe
run_targets: *crate_universe_vendor_example_targets
build_targets:
- "//..."
test_targets:
Expand All @@ -285,22 +291,16 @@ tasks:
crate_universe_examples_windows:
name: Crate Universe Examples
platform: windows
environment:
RULES_RUST_CRATE_UNIVERSE_BOOTSTRAP: true
working_directory: examples/crate_universe
build_flags:
- "--enable_runfiles" # this is not enabled by default on windows and is necessary for the cargo build scripts
- "--config=rustfmt"
- "--config=clippy"
crate_universe_windows_targets: &crate_universe_windows_targets
batch_commands:
- echo startup --windows_enable_symlinks >> user.bazelrc
- echo build --enable_runfiles >> user.bazelrc # this is not enabled by default on windows and is necessary for the cargo build scripts
run_targets: *crate_universe_vendor_example_targets
build_flags: *aspects_flags
build_targets:
- "//..."
test_targets:
- "//..."
# TODO: There are windows specific build issues in the generated
# dependencies. This should be fixed and all testing enabled.
- "-//uses_proc_macro/..."
- "-//uses_sys_crate/..."
build_targets: *crate_universe_windows_targets
# TODO: fix test targets in `crate_universe_windows_targets`
test_targets: *crate_universe_windows_targets
buildifier:
version: latest
warnings: "all"
37 changes: 27 additions & 10 deletions examples/crate_universe/WORKSPACE.bazel
Original file line number Diff line number Diff line change
@@ -1,29 +1,25 @@
workspace(name = "examples")

local_repository(
name = "cargo_bazel",
path = "../",
name = "rules_rust",
path = "../../",
)

load("@cargo_bazel//:deps.bzl", "cargo_bazel_deps")

cargo_bazel_deps()

load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")

rules_rust_dependencies()

rust_register_toolchains()
rust_register_toolchains(include_rustc_srcs = True)

load("@cargo_bazel//:crates.bzl", "crate_deps_repository")
load("@rules_rust//crate_universe:crates.bzl", "crate_deps_repository")

crate_deps_repository()

load("@cargo_bazel//:crates_deps.bzl", "crate_repositories")
load("@rules_rust//crate_universe:crates_deps.bzl", "crate_repositories")

crate_repositories()

load("@cargo_bazel//:defs.bzl", "crate", "crates_repository", "splicing_config")
load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository", "splicing_config")

###############################################################################
# C A R G O A L I A S E S
Expand Down Expand Up @@ -57,6 +53,9 @@ cargo_aliases_crate_repositories()

crates_repository(
name = "crate_index_cargo_local",
# `generator` is not necessary in official releases.
# See load satement for `cargo_bazel_bootstrap`.
generator = "@cargo_bazel_bootstrap//:cargo-bazel",
lockfile = "//cargo_local:Cargo.lock",
lockfile_kind = "cargo",
manifests = ["//cargo_local:Cargo.toml"],
Expand Down Expand Up @@ -325,3 +324,21 @@ load(
crates_vendor_packages_repositories()

###############################################################################

# Used for Bazel CI
http_archive(
name = "bazel_toolchains",
sha256 = "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024",
strip_prefix = "bazel-toolchains-4.1.0",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
"https://github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
],
)

load("@bazel_toolchains//rules:rbe_repo.bzl", "rbe_autoconfig")

# Creates a default toolchain config for RBE.
# Use this as is if you are using the rbe_ubuntu16_04 container,
# otherwise refer to RBE docs.
rbe_autoconfig(name = "buildkite_config")
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def third_party_deps(prefix = ""):
maybe(
http_archive,
name = (prefix + "__" + "zlib").lstrip("_"),
build_file = Label("@cargo_bazel//3rdparty:BUILD.zlib.bazel"),
build_file = Label("//crate_universe/3rdparty:BUILD.zlib.bazel"),
sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
strip_prefix = "zlib-1.2.11",
urls = [
Expand Down
2 changes: 1 addition & 1 deletion examples/crate_universe/vendor_local_manifests/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
load("@cargo_bazel//:defs.bzl", "crates_vendor")
load("@rules_rust//crate_universe:defs.bzl", "crates_vendor")
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
load("//vendor_local_manifests/crates:defs.bzl", "aliases", "all_crate_deps")

Expand Down
2 changes: 1 addition & 1 deletion examples/crate_universe/vendor_local_pkgs/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
load("@cargo_bazel//:defs.bzl", "crate", "crates_vendor")
load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_vendor")
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_test")

crates_vendor(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
load("@cargo_bazel//:defs.bzl", "crates_vendor")
load("@crates_vendor_manifests//:defs.bzl", "aliases", "all_crate_deps")
load("@rules_rust//crate_universe:defs.bzl", "crates_vendor")
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")

crates_vendor(
Expand Down
2 changes: 1 addition & 1 deletion examples/crate_universe/vendor_remote_pkgs/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
load("@cargo_bazel//:defs.bzl", "crate", "crates_vendor")
load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_vendor")
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_test")

crates_vendor(
Expand Down

0 comments on commit fcbe018

Please sign in to comment.