From 4c39fba5b9611852e1fa16c51cd2fea6238f0cff Mon Sep 17 00:00:00 2001
From: Simon Mavi Stewart <simon.m.stewart@gmail.com>
Date: Tue, 8 Jul 2025 10:43:19 +0100
Subject: [PATCH] [ci] Fix bzlmod failures caused by `protobuf` update

---
 examples/bzlmod/.bazelrc           | 2 ++
 examples/bzlmod/.bazelversion      | 2 +-
 examples/bzlmod/MODULE.bazel       | 7 +++++++
 examples/bzlmod/maven_install.json | 5 ++---
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/examples/bzlmod/.bazelrc b/examples/bzlmod/.bazelrc
index 1199f3e..45d7065 100644
--- a/examples/bzlmod/.bazelrc
+++ b/examples/bzlmod/.bazelrc
@@ -3,6 +3,8 @@ import ../../.bazelrc
 common --enable_bzlmod
 common --incompatible_use_plus_in_repo_names
 
+common --check_direct_dependencies=error
+
 build --java_language_version=11
 build --tool_java_language_version=11
 
diff --git a/examples/bzlmod/.bazelversion b/examples/bzlmod/.bazelversion
index ae9a76b..56b6be4 100644
--- a/examples/bzlmod/.bazelversion
+++ b/examples/bzlmod/.bazelversion
@@ -1 +1 @@
-8.0.0
+8.3.1
diff --git a/examples/bzlmod/MODULE.bazel b/examples/bzlmod/MODULE.bazel
index 258e0b9..331fc4f 100644
--- a/examples/bzlmod/MODULE.bazel
+++ b/examples/bzlmod/MODULE.bazel
@@ -3,6 +3,9 @@ module(
     version = "6.0",
 )
 
+# Required because `protobuf` contributes to the default namespace
+bazel_dep(name = "protobuf", version = "29.0", repo_name = None)
+bazel_dep(name = "rules_java", version = "8.12.0")
 bazel_dep(name = "rules_jvm_external", version = "0.0")
 local_path_override(
     module_name = "rules_jvm_external",  # matches the name of the `bazel_dep`
@@ -21,6 +24,10 @@ maven.install(
         "org.seleniumhq.selenium:selenium-java:4.4.0",
     ],
     fetch_sources = True,
+    known_contributing_modules = [
+        "protobuf",
+        "rules_jvm_external_examples_bzlmod",
+    ],
     lock_file = "//:maven_install.json",
 )
 
diff --git a/examples/bzlmod/maven_install.json b/examples/bzlmod/maven_install.json
index 84b166f..434b476 100644
--- a/examples/bzlmod/maven_install.json
+++ b/examples/bzlmod/maven_install.json
@@ -1,7 +1,7 @@
 {
   "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
   "__INPUT_ARTIFACTS_HASH": -1307306091,
-  "__RESOLVED_ARTIFACTS_HASH": -1723710779,
+  "__RESOLVED_ARTIFACTS_HASH": -1663972293,
   "conflict_resolution": {
     "com.google.errorprone:error_prone_annotations:2.5.1": "com.google.errorprone:error_prone_annotations:2.18.0",
     "com.google.guava:guava:31.1-jre": "com.google.guava:guava:32.0.1-jre"
@@ -170,8 +170,7 @@
     },
     "com.google.guava:listenablefuture": {
       "shasums": {
-        "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99",
-        "sources": null
+        "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99"
       },
       "version": "9999.0-empty-to-avoid-conflict-with-guava"
     },
-- 
2.49.0

