From 6d7a26ed71c4d5646fbd263f92cc9880aab761cb Mon Sep 17 00:00:00 2001 From: Yun Peng Date: Wed, 17 Dec 2025 14:58:02 +0000 Subject: [PATCH 1/2] Upgrade Bzlmod examples to Bazel 9.* - Update .bazelversion to 9.* for all Bzlmod examples - Replace incompatible glog with abseil-cpp/iostream in 01 and 02 - Verify all builds pass with Bazel 9.0.0rc3 --- bzlmod/01-depend_on_bazel_module/.bazelversion | 2 +- bzlmod/01-depend_on_bazel_module/BUILD | 2 +- bzlmod/01-depend_on_bazel_module/MODULE.bazel | 2 +- bzlmod/01-depend_on_bazel_module/main.cc | 9 ++++----- bzlmod/02-override_bazel_module/BUILD | 1 - bzlmod/02-override_bazel_module/MODULE.bazel | 18 ++---------------- bzlmod/02-override_bazel_module/lib_a/BUILD | 2 +- .../lib_a/MODULE.bazel | 2 +- bzlmod/02-override_bazel_module/lib_a/lib_a.cc | 4 ++-- bzlmod/02-override_bazel_module/main.cc | 8 ++------ 10 files changed, 15 insertions(+), 35 deletions(-) diff --git a/bzlmod/01-depend_on_bazel_module/.bazelversion b/bzlmod/01-depend_on_bazel_module/.bazelversion index 56b6be4eb..0c227fb88 100644 --- a/bzlmod/01-depend_on_bazel_module/.bazelversion +++ b/bzlmod/01-depend_on_bazel_module/.bazelversion @@ -1 +1 @@ -8.3.1 +9.* diff --git a/bzlmod/01-depend_on_bazel_module/BUILD b/bzlmod/01-depend_on_bazel_module/BUILD index 4dd0d2492..8b1cfb6b5 100644 --- a/bzlmod/01-depend_on_bazel_module/BUILD +++ b/bzlmod/01-depend_on_bazel_module/BUILD @@ -3,5 +3,5 @@ load("@rules_cc//cc:cc_binary.bzl", "cc_binary") cc_binary( name = "main", srcs = ["main.cc"], - deps = ["@com_github_google_glog//:glog"], + deps = ["@abseil-cpp//absl/strings"], ) diff --git a/bzlmod/01-depend_on_bazel_module/MODULE.bazel b/bzlmod/01-depend_on_bazel_module/MODULE.bazel index 8dfe33813..17bd07c8c 100644 --- a/bzlmod/01-depend_on_bazel_module/MODULE.bazel +++ b/bzlmod/01-depend_on_bazel_module/MODULE.bazel @@ -7,4 +7,4 @@ bazel_dep(name = "rules_cc", version = "0.0.17") # 1. The metadata of glog is fetched from the BCR, including its dependencies (gflags). # 2. The `repo_name` attribute allows users to reference this dependency via the `com_github_google_glog` repo name. -bazel_dep(name = "glog", version = "0.5.0", repo_name = "com_github_google_glog") +bazel_dep(name = "abseil-cpp", version = "20240722.0") diff --git a/bzlmod/01-depend_on_bazel_module/main.cc b/bzlmod/01-depend_on_bazel_module/main.cc index 33c2a98c4..e006c7ad7 100644 --- a/bzlmod/01-depend_on_bazel_module/main.cc +++ b/bzlmod/01-depend_on_bazel_module/main.cc @@ -1,9 +1,8 @@ -#include +#include +#include "absl/strings/str_cat.h" int main(int argc, char* argv[]) { - // Initialize Google’s logging library. - google::InitGoogleLogging(argv[0]); - int num_cookies = 42; - LOG(INFO) << "Found " << num_cookies << " cookies"; + std::string s = absl::StrCat("Found ", num_cookies, " cookies"); + std::cout << s << std::endl; } diff --git a/bzlmod/02-override_bazel_module/BUILD b/bzlmod/02-override_bazel_module/BUILD index 5d9b5339a..a59847ffe 100644 --- a/bzlmod/02-override_bazel_module/BUILD +++ b/bzlmod/02-override_bazel_module/BUILD @@ -8,7 +8,6 @@ cc_binary( name = "main", srcs = ["main.cc"], deps = [ - "@com_github_google_glog//:glog", "@lib_a", ], ) diff --git a/bzlmod/02-override_bazel_module/MODULE.bazel b/bzlmod/02-override_bazel_module/MODULE.bazel index 56242f26e..e4f3689cd 100644 --- a/bzlmod/02-override_bazel_module/MODULE.bazel +++ b/bzlmod/02-override_bazel_module/MODULE.bazel @@ -4,23 +4,7 @@ module( ) bazel_dep(name = "rules_cc", version = "0.0.17") -bazel_dep(name = "glog", version = "0.5.0", repo_name = "com_github_google_glog") -# Override glog to a fork version with archive_override. -archive_override( - module_name = "glog", - integrity = "sha256-EH4o3n+qkfcsEFODkkRzs1/XAH9ej2V77gv05eplB5k=", - strip_prefix = "glog-9401faa19e0424791243827b8e95efd3d0d8db23", - urls = ["https://github.com/meteorcloudy/glog/archive/9401faa19e0424791243827b8e95efd3d0d8db23.tar.gz"], -) - -# Override gflag to a fork version with git_override. -# gflag is still an indirect dependency, the override itself doesn't give the root module visibility on gflags. -git_override( - module_name = "gflags", - commit = "95995169e86f3fedd19696df5b1811d441c462a2", - remote = "https://github.com/meteorcloudy/gflags.git", -) # Patch bazel skylib 1.7.1 with a local patch file. bazel_dep(name = "bazel_skylib", version = "1.7.1") @@ -38,3 +22,5 @@ local_path_override( module_name = "lib_a", path = "./lib_a", ) + + diff --git a/bzlmod/02-override_bazel_module/lib_a/BUILD b/bzlmod/02-override_bazel_module/lib_a/BUILD index 3e0947e4d..a08cd2aa4 100644 --- a/bzlmod/02-override_bazel_module/lib_a/BUILD +++ b/bzlmod/02-override_bazel_module/lib_a/BUILD @@ -6,5 +6,5 @@ cc_library( name = "lib_a", srcs = ["lib_a.cc"], hdrs = ["lib_a.h"], - deps = ["@com_github_google_glog//:glog"], + visibility = ["//visibility:public"], ) diff --git a/bzlmod/02-override_bazel_module/lib_a/MODULE.bazel b/bzlmod/02-override_bazel_module/lib_a/MODULE.bazel index db015f796..f2b77e580 100644 --- a/bzlmod/02-override_bazel_module/lib_a/MODULE.bazel +++ b/bzlmod/02-override_bazel_module/lib_a/MODULE.bazel @@ -4,4 +4,4 @@ module( ) bazel_dep(name = "rules_cc", version = "0.0.17") -bazel_dep(name = "glog", version = "0.5.0", repo_name = "com_github_google_glog") + diff --git a/bzlmod/02-override_bazel_module/lib_a/lib_a.cc b/bzlmod/02-override_bazel_module/lib_a/lib_a.cc index 9ad7f72ab..308c63488 100644 --- a/bzlmod/02-override_bazel_module/lib_a/lib_a.cc +++ b/bzlmod/02-override_bazel_module/lib_a/lib_a.cc @@ -1,5 +1,5 @@ -#include +#include void lib_a() { - LOG(INFO) << "Hello from module A!"; + std::cout << "Hello from module A!" << std::endl; } diff --git a/bzlmod/02-override_bazel_module/main.cc b/bzlmod/02-override_bazel_module/main.cc index 398fd0304..b215b7dd1 100644 --- a/bzlmod/02-override_bazel_module/main.cc +++ b/bzlmod/02-override_bazel_module/main.cc @@ -1,11 +1,7 @@ -#include - +#include #include "lib_a.h" int main(int argc, char* argv[]) { - // Initialize Google’s logging library. - google::InitGoogleLogging(argv[0]); - - LOG(INFO) << "Hello from the main module!"; + std::cout << "Hello from the main module!" << std::endl; lib_a(); } From 3a83e424e666249dc884b22be129eca7d897a722 Mon Sep 17 00:00:00 2001 From: Yun Peng Date: Wed, 17 Dec 2025 15:18:33 +0000 Subject: [PATCH 2/2] Restore override examples with abseil-cpp and re2 - Use abseil-cpp for archive_override - Use re2 for git_override - This restores the override examples while ensuring compatibility with Bazel 9 --- bzlmod/02-override_bazel_module/BUILD | 1 + bzlmod/02-override_bazel_module/MODULE.bazel | 21 ++++++++++++++++++++ bzlmod/02-override_bazel_module/main.cc | 5 +++++ 3 files changed, 27 insertions(+) diff --git a/bzlmod/02-override_bazel_module/BUILD b/bzlmod/02-override_bazel_module/BUILD index a59847ffe..e54bbb7b7 100644 --- a/bzlmod/02-override_bazel_module/BUILD +++ b/bzlmod/02-override_bazel_module/BUILD @@ -9,5 +9,6 @@ cc_binary( srcs = ["main.cc"], deps = [ "@lib_a", + "@com_googlesource_re2//:re2", ], ) diff --git a/bzlmod/02-override_bazel_module/MODULE.bazel b/bzlmod/02-override_bazel_module/MODULE.bazel index e4f3689cd..d135f18d7 100644 --- a/bzlmod/02-override_bazel_module/MODULE.bazel +++ b/bzlmod/02-override_bazel_module/MODULE.bazel @@ -3,6 +3,27 @@ module( version = "0.0.1", ) + +# Override abseil-cpp to the 20250814.1 LTS version with archive_override. +# This demonstrates how to use archive_override to point to a specific tarball. +bazel_dep(name = "abseil-cpp", version = "20240722.0") +archive_override( + module_name = "abseil-cpp", + integrity = "sha256-FpL3fRc5us8/lDNxiLeFg88JurfkINLcbFYFpPhnhaE=", + strip_prefix = "abseil-cpp-20250814.1", + urls = ["https://github.com/abseil/abseil-cpp/releases/download/20250814.1/abseil-cpp-20250814.1.tar.gz"], +) + +# Override re2 to a specific commit with git_override. +# This demonstrates how to use git_override to depend on a specific commit. +bazel_dep(name = "re2", version = "2024-07-02", repo_name = "com_googlesource_re2") +git_override( + module_name = "re2", + commit = "e7aec5985072c1dbe735add802653ef4b36c231a", + remote = "https://github.com/google/re2.git", +) + + bazel_dep(name = "rules_cc", version = "0.0.17") diff --git a/bzlmod/02-override_bazel_module/main.cc b/bzlmod/02-override_bazel_module/main.cc index b215b7dd1..c2318ef29 100644 --- a/bzlmod/02-override_bazel_module/main.cc +++ b/bzlmod/02-override_bazel_module/main.cc @@ -1,7 +1,12 @@ #include #include "lib_a.h" +#include "re2/re2.h" int main(int argc, char* argv[]) { std::cout << "Hello from the main module!" << std::endl; lib_a(); + + if (RE2::FullMatch("bazel", "b.*l")) { + std::cout << "RE2 match!" << std::endl; + } }