This is an automated email from the ASF dual-hosted git repository.
jiashunzhu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brpc.git
The following commit(s) were added to refs/heads/master by this push:
new 9d23af8e add bzlmod support (#2670)
9d23af8e is described below
commit 9d23af8e92f04a6609a5a2bc840b531d0eb22c5c
Author: Kevin Li <[email protected]>
AuthorDate: Mon Jul 15 00:11:28 2024 +0800
add bzlmod support (#2670)
* add bzlmod support
* drop buggy clang-11 which dont suport -fno-access-control correctly
* fix typo in ci-linux.yml
* give up trying to test bazel in clang
---
.bazelrc | 7 ++++--
.bazelversion | 2 +-
.github/workflows/ci-linux.yml | 52 +++++-------------------------------------
BUILD.bazel | 6 ++---
MODULE.bazel | 26 +++++++++++++++++++++
WORKSPACE.bzlmod | 15 ++++++++++++
test/BUILD.bazel | 6 ++---
test/thread_key_unittest.cpp | 3 ++-
8 files changed, 60 insertions(+), 57 deletions(-)
diff --git a/.bazelrc b/.bazelrc
index f3d406b0..e9aa52ad 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -16,10 +16,13 @@
#
# Default build options. These are applied first and unconditionally.
#
+common --registry=https://bcr.bazel.build
+common --registry=https://baidu.github.io/babylon/registry
+common --registry=https://raw.githubusercontent.com/bazelboost/registry/main
-build --cxxopt="-std=c++11"
+build --cxxopt="-std=c++17"
# Use gnu11 for asm keyword.
-build --conlyopt="-std=gnu11"
+build --conlyopt="-std=gnu17"
# Enable position independent code (this is the default on macOS and Windows)
# (Workaround for https://github.com/bazelbuild/rules_foreign_cc/issues/421)
diff --git a/.bazelversion b/.bazelversion
index af8c8ec7..a8a18875 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-4.2.2
+7.1.2
diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml
index 652631f2..56aacee3 100644
--- a/.github/workflows/ci-linux.yml
+++ b/.github/workflows/ci-linux.yml
@@ -46,26 +46,13 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- - name: install dependences
- run: |
- sudo apt-get update
- sudo apt-get install libibverbs-dev
- - name: compile
- run: |
- export CC=gcc && export CXX=g++
- bazel build -j ${{env.proc_num}} -c opt --copt -DHAVE_ZLIB=1 //...
+ - run: bazel test --verbose_failures -- //... -//example/...
gcc-compile-with-boringssl:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- - name: install dependences
- run: |
- sudo apt-get update
- sudo apt-get install libibverbs-dev
- - name: compile-with-boringssl
- run: |
- bazel build -j 12 -c opt --define with_mesalink=false --define
with_glog=true --define with_thrift=true --define BRPC_WITH_BORINGSSL=true
--copt -DHAVE_ZLIB=1 //...
+ - run: bazel test --verbose_failures --define with_mesalink=false --define
with_glog=true --define with_thrift=true --define BRPC_WITH_BORINGSSL=true --
//... -//example/...
gcc-compile-with-make-all-options:
runs-on: ubuntu-20.04
@@ -99,14 +86,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- - name: install dependences
- run: |
- sudo apt-get update
- sudo apt-get install libibverbs-dev
- - name: compile
- run: |
- export CC=gcc && export CXX=g++
- bazel build -j 12 -c opt --define with_mesalink=false --define
with_glog=true --define with_thrift=true --copt -DHAVE_ZLIB=1 //...
+ - run: bazel test --verbose_failures --define with_mesalink=false --define
with_glog=true --define with_thrift=true -- //... -//example/...
clang-compile-with-make:
runs-on: ubuntu-20.04
@@ -140,26 +120,13 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- - name: install dependences
- run: |
- sudo apt-get update
- sudo apt-get install libibverbs-dev
- - name: compile
- run: |
- export CC=clang && export CXX=clang++
- bazel build -j ${{env.proc_num}} -c opt --copt -DHAVE_ZLIB=1 //...
+ - run: bazel build --verbose_failures --action_env=CC=clang-12 -- //...
-//example/...
clang-compile-with-boringssl:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- - name: install dependences
- run: |
- sudo apt-get update
- sudo apt-get install libibverbs-dev
- - name: compile
- run: |
- bazel build -j ${{env.proc_num}} -c opt --define with_mesalink=false
--define with_glog=true --define with_thrift=true --define
BRPC_WITH_BORINGSSL=true --copt -DHAVE_ZLIB=1 //...
+ - run: bazel build --verbose_failures --action_env=CC=clang-12 --define
with_mesalink=false --define with_glog=true --define with_thrift=true --define
BRPC_WITH_BORINGSSL=true -- //... -//example/...
clang-compile-with-make-all-options:
runs-on: ubuntu-20.04
@@ -193,14 +160,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- - name: install dependences
- run: |
- sudo apt-get update
- sudo apt-get install libibverbs-dev
- - name: compile
- run: |
- export CC=clang && export CXX=clang++
- bazel build -j ${{env.proc_num}} -c opt --define
with_mesalink=false --define with_glog=true --define with_thrift=true --copt
-DHAVE_ZLIB=1 //...
+ - run: bazel build --verbose_failures --action_env=CC=clang-12 --define
with_mesalink=false --define with_glog=true --define with_thrift=true -- //...
-//example/...
clang-unittest:
runs-on: ubuntu-20.04
diff --git a/BUILD.bazel b/BUILD.bazel
index b2a453e0..795e392e 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -51,7 +51,7 @@ LINKOPTS = [
"-pthread",
"-ldl",
] + select({
- "@bazel_tools//tools/osx:darwin": [
+ "@bazel_tools//tools/osx:darwin_x86_64": [
"-framework CoreFoundation",
"-framework CoreGraphics",
"-framework CoreData",
@@ -218,7 +218,7 @@ BUTIL_SRCS = [
"src/butil/recordio.cc",
"src/butil/popen.cpp",
] + select({
- "@bazel_tools//tools/osx:darwin": [
+ "@bazel_tools//tools/osx:darwin_x86_64": [
"src/butil/time/time_mac.cc",
"src/butil/mac/scoped_mach_port.cc",
],
@@ -333,7 +333,7 @@ cc_library(
"//bazel/config:brpc_with_glog": ["@com_github_google_glog//:glog"],
"//conditions:default": [],
}) + select({
- "@bazel_tools//tools/osx:darwin": [":macos_lib"],
+ "@bazel_tools//tools/osx:darwin_x86_64": [":macos_lib"],
"//conditions:default": [],
}) + select({
"//bazel/config:brpc_with_boringssl": ["@boringssl//:ssl",
"@boringssl//:crypto"],
diff --git a/MODULE.bazel b/MODULE.bazel
new file mode 100644
index 00000000..0190a3d0
--- /dev/null
+++ b/MODULE.bazel
@@ -0,0 +1,26 @@
+module(
+ name = 'brpc',
+ version = '1.9.0',
+ compatibility_level = 1,
+)
+
+# https://bcr.bazel.build
+bazel_dep(name = 'abseil-cpp', version = '20210324.2', repo_name =
'com_google_absl')
+bazel_dep(name = 'bazel_skylib', version = '1.0.3')
+bazel_dep(name = 'boringssl', version = '0.0.0-20211025-d4f1ab9')
+bazel_dep(name = 'protobuf', version = '3.19.6', repo_name =
'com_google_protobuf')
+bazel_dep(name = 'gflags', version = '2.2.2', repo_name =
'com_github_gflags_gflags')
+bazel_dep(name = 'glog', version = '0.5.0', repo_name =
'com_github_google_glog')
+bazel_dep(name = 'platforms', version = '0.0.4')
+bazel_dep(name = 'rules_cc', version = '0.0.1')
+bazel_dep(name = 'rules_proto', version = '4.0.0')
+bazel_dep(name = 'zlib', version = '1.2.13', repo_name =
'com_github_madler_zlib')
+
+# https://baidu.github.io/babylon/registry
+# https://raw.githubusercontent.com/bazelboost/registry/main
+bazel_dep(name = 'leveldb', version = '1.23', repo_name =
'com_github_google_leveldb')
+bazel_dep(name = 'openssl', version = '3.3.1')
+bazel_dep(name = 'thrift', version = '0.20.0', repo_name = 'org_apache_thrift')
+
+# test only
+bazel_dep(name = 'googletest', version = '1.14.0.bcr.1', repo_name =
'com_google_googletest', dev_dependency = True)
diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod
new file mode 100644
index 00000000..d0f39e7d
--- /dev/null
+++ b/WORKSPACE.bzlmod
@@ -0,0 +1,15 @@
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+#
+# Tools Dependencies
+#
+# Hedron's Compile Commands Extractor for Bazel
+# https://github.com/hedronvision/bazel-compile-commands-extractor
+http_archive(
+ name = "hedron_compile_commands",
+ url =
"https://github.com/hedronvision/bazel-compile-commands-extractor/archive/3dddf205a1f5cde20faf2444c1757abe0564ff4c.tar.gz",
+ strip_prefix =
"bazel-compile-commands-extractor-3dddf205a1f5cde20faf2444c1757abe0564ff4c",
+ sha256 =
"3cd0e49f0f4a6d406c1d74b53b7616f5e24f5fd319eafc1bf8eee6e14124d115",
+)
+load("@hedron_compile_commands//:workspace_setup.bzl",
"hedron_compile_commands_setup")
+hedron_compile_commands_setup()
diff --git a/test/BUILD.bazel b/test/BUILD.bazel
index 345043fc..d9af2ae7 100644
--- a/test/BUILD.bazel
+++ b/test/BUILD.bazel
@@ -30,9 +30,7 @@ COPTS = [
"-Wno-unused-parameter",
"-fno-omit-frame-pointer",
"-DGFLAGS_NS=google",
- "-Dprivate=public",
- "-Dprotected=public",
- "--include test/sstream_workaround.h",
+ "-fno-access-control",
"-DBAZEL_TEST=1",
"-DBVAR_NOT_LINK_DEFAULT_VARIABLES",
"-DUNIT_TEST",
@@ -142,7 +140,7 @@ TEST_BUTIL_SOURCES = [
"bounded_queue_unittest.cc",
"butil_unittest_main.cpp",
] + select({
- "@bazel_tools//tools/osx:darwin": [],
+ "@bazel_tools//tools/osx:darwin_x86_64": [],
"//conditions:default": [
"test_file_util_linux.cc",
"proc_maps_linux_unittest.cc",
diff --git a/test/thread_key_unittest.cpp b/test/thread_key_unittest.cpp
index adbeb024..f254ce41 100644
--- a/test/thread_key_unittest.cpp
+++ b/test/thread_key_unittest.cpp
@@ -178,6 +178,7 @@ void* ThreadLocalForEachFunc(void* arg) {
auto counter = static_cast<ThreadLocal<butil::atomic<int>>*>(arg);
auto local_counter = counter->get();
EXPECT_NE(nullptr, local_counter);
+ local_counter->store(0, butil::memory_order_relaxed);
while (!g_stopped) {
local_counter->fetch_add(1, butil::memory_order_relaxed);
g_counter.fetch_add(1, butil::memory_order_relaxed);
@@ -497,4 +498,4 @@ TEST(ThreadLocalTest, thread_key_performance) {
}
}
-} // namespace butil
\ No newline at end of file
+} // namespace butil
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]