Skip to content

Commit

Permalink
PR #2483: Bazel build support for building rust and beto-core targets
Browse files Browse the repository at this point in the history
Imported from GitHub PR #2483

This adds the necessary build rules to build with the LDT rust implementation in bazel, currently it is compiled out by a compiler flag.

This also updates the C++ standard to C++20 in order to be compatible with beto-core's targets
Copybara import of the project:

--
b28eabb by Nabil Wadih <[email protected]>:

Bazel build support for building rust and beto-core targets

--
765f807 by Nabil Wadih <[email protected]>:

Bazel build support for building rust and beto-core targets

--
3658bdc by Nabil Wadih <[email protected]>:

Bazel build support for building rust and beto-core targets

--
65321ef by Nabil Wadih <[email protected]>:

Bazel build support for building rust and beto-core targets

--
f52590f by Nabil Wadih <[email protected]>:

Update validate.yaml
--
eef6b26 by Nabil Wadih <[email protected]>:

Update validate.yaml
--
b47f671 by Nabil Wadih <[email protected]>:

Bazel build support for building rust and beto-core targets

Merging this change closes #2483

PiperOrigin-RevId: 627873727
  • Loading branch information
Nabil Wadih authored and copybara-github committed Apr 24, 2024
1 parent 9065c0a commit 63838e6
Show file tree
Hide file tree
Showing 5 changed files with 14,795 additions and 8 deletions.
4 changes: 2 additions & 2 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
build --action_env=BAZEL_CXXOPTS=-std=c++17
build --action_env=BAZEL_CXXOPTS=-"std=c++20"
# Definition of --config=memcheck
build:memcheck --strip=never --test_timeout=3600
build --sandbox_block_path=/usr/local
common --enable_bzlmod
8 changes: 4 additions & 4 deletions .github/workflows/validate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Build Connections
run: CC=clang CXX=clang++ bazel build --copt='-DGITHUB_BUILD' //connections:core
run: CC=clang-15 CXX=clang-15++ bazel build --copt='-DGITHUB_BUILD' //connections:core
- name: Build Presence
run: CC=clang CXX=clang++ bazel build --copt='-DGITHUB_BUILD' //presence
run: CC=clang-15 CXX=clang-15++ bazel build --copt='-DGITHUB_BUILD' //presence
- name: Build Sharing
run: CC=clang CXX=clang++ bazel build --verbose_failures --copt='-DGITHUB_BUILD' //sharing:nearby_sharing_service //sharing/certificates //sharing/contacts //sharing/local_device_data //sharing/proto/... //sharing/internal/public:nearby_context //sharing/common:all //sharing/scheduling //sharing/fast_initiation:nearby_fast_initiation //sharing/analytics
run: CC=clang-15 CXX=clang-15++ bazel build --verbose_failures --copt='-DGITHUB_BUILD' //sharing:nearby_sharing_service //sharing/certificates //sharing/contacts //sharing/local_device_data //sharing/proto/... //sharing/internal/public:nearby_context //sharing/common:all //sharing/scheduling //sharing/fast_initiation:nearby_fast_initiation //sharing/analytics

build-rust-linux:
name: Build Rust on Linux
Expand All @@ -77,4 +77,4 @@ jobs:
run: cargo test --manifest-path fastpair/rust/bluetooth/Cargo.toml
- name: Build Fast Pair
run: cargo test --manifest-path fastpair/rust/demo/rust/Cargo.toml


5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,7 @@ Carthage/Build
.idea

# Rust
Cargo.lock
Cargo.lock

# Bazel
bazel-*
31 changes: 30 additions & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,11 +1,41 @@
bazel_dep(name = "platforms", version = "0.0.8")
bazel_dep(name = "rules_cc", version = "0.0.9")
bazel_dep(name = "rules_rust", version = "0.42.1")
bazel_dep(name = "bazel_skylib", version = "1.5.0")

bazel_dep(name = "abseil-cpp", version = "20240116.1", repo_name = "com_google_absl")
bazel_dep(name = "protobuf", version = "21.7", repo_name = "com_google_protobuf")
bazel_dep(name = "googletest", version = "1.14.0", repo_name = "com_google_googletest")
bazel_dep(name = "boringssl", version = "0.0.0-20240126-22d349c")

git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
git_repository(
name = "beto-core",
remote = "https://beto-core.googlesource.com/beto-core",
commit = "415bd032561d078720642d52e28fd3bc9d5155d4",
)

rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(
edition = "2021",
versions = ["1.77.1"],
)
use_repo(rust, "rust_toolchains")
register_toolchains("@rust_toolchains//:all")

crate = use_extension(
"@rules_rust//crate_universe:extension.bzl",
"crate",
)
crate.from_cargo(
name = "crate_index",
cargo_lockfile = "@beto-core//:bazel_placeholder/Cargo.lock",
manifests = [
"@beto-core//:bazel_placeholder/Cargo.toml",
],
)
use_repo(crate, "crate_index")

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
Expand Down Expand Up @@ -59,7 +89,6 @@ http_archive(
strip_prefix = "nisaba-main",
)


# -------------------------------------------------------------------------
# Protocol buffer matches (should be part of gmock and gtest, but not yet):
# https://github.com/inazarenko/protobuf-matchers
Expand Down
Loading

0 comments on commit 63838e6

Please sign in to comment.