Upgrade Scala 3.7.4, rules_scala 7.1.5, protobuf 33.0, grpc 1.76.0, Bazel 7.7.1 (#5871)

* Upgrade rules_scala 7.1.5, Scala 3.7.4, protobuf 32.1

- Update rules_scala from 7.1.1 to 7.1.5
- Update Scala from 3.7.2 to 3.7.4
- Update protobuf from 29.2 to 32.1 (required by rules_scala 7.1.5+)
- Add force_version for Maven dependency conflicts (gson, errorprone, guava)
- Update -Wconf pattern in tools/BUILD.bazel for Bazel 7/8 compatibility
- Add -Wno-deprecated-copy-with-dtor to suppress protobuf 32.x warning

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add grpc 1.76.0, protobuf 33.0, and Bazel 7.7.1 compatibility fixes

- Upgrade grpc from 1.71.0 to 1.76.0.bcr.1 (required for protobuf 33.0)
- Upgrade protobuf from 32.1 to 33.0 (matches grpc 1.76.0 expectations)
- Upgrade Bazel from 7.6.1 to 7.7.1
- Add single_version_override for rules_swift 3.1.2 (grpc needs 3.x, rules_apple needs 2.x)
- Add --features=-module_maps workaround for grpc cf_event_engine macOS build issue

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-04 17:01:15 -08:00
committed by GitHub
co-authored by Claude Opus 4.5
parent 76be41d841
commit a7b7b0e444
7 changed files with 142 additions and 4279 deletions
+4
View File
@@ -29,6 +29,10 @@ common --javacopt="-Xlint:-options"
# Use host_linkopt for macOS-specific flags to avoid passing them to Linux cross-compilation
common:macos --host_linkopt=-Wl,-no_warn_duplicate_libraries
# Workaround for grpc cf_event_engine build error on macOS with Bazel 7.x
# See: https://github.com/grpc/grpc/issues/37619
common:macos --features=-module_maps
# Fix Xcode version caching issue - avoids need for `bazel clean --expunge` after Xcode updates
common:macos --repo_env=DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
+1 -1
View File
@@ -1 +1 @@
7.6.1
7.7.1
+32 -5
View File
@@ -1,7 +1,7 @@
module(name = "net_eagle0")
# Version constants
SCALA_VERSION = "3.7.2"
SCALA_VERSION = "3.7.4"
NETTY_VERSION = "4.1.110.Final"
@@ -20,7 +20,7 @@ bazel_dep(name = "rules_pkg", version = "1.2.0")
# Language Support - Scala
#
bazel_dep(name = "rules_scala", version = "7.1.1")
bazel_dep(name = "rules_scala", version = "7.1.5")
scala_config = use_extension(
"@rules_scala//scala/extensions:config.bzl",
@@ -131,7 +131,13 @@ use_repo(
bazel_dep(name = "apple_support", version = "1.21.1", repo_name = "build_bazel_apple_support")
bazel_dep(name = "rules_apple", version = "4.3.3", repo_name = "build_bazel_rules_apple")
bazel_dep(name = "rules_swift", version = "2.4.0", repo_name = "build_bazel_rules_swift")
# rules_swift is a transitive dep of rules_apple and grpc
# grpc 1.76.0+ requires rules_swift 3.x, but rules_apple 4.x requires 2.x
# Force version 3.1.2 since we don't use rules_swift directly
single_version_override(
module_name = "rules_swift",
version = "3.1.2",
)
# Register Apple CC toolchain for Objective-C compilation
apple_cc_configure = use_extension(
@@ -144,8 +150,8 @@ use_repo(apple_cc_configure, "local_config_apple_cc")
# Protocol Buffers & RPC
#
bazel_dep(name = "protobuf", version = "29.2", repo_name = "com_google_protobuf")
bazel_dep(name = "grpc", version = "1.71.0")
bazel_dep(name = "protobuf", version = "33.0", repo_name = "com_google_protobuf")
bazel_dep(name = "grpc", version = "1.76.0.bcr.1")
bazel_dep(name = "grpc-java", version = "1.71.0")
bazel_dep(name = "flatbuffers", version = "25.9.23")
@@ -275,6 +281,27 @@ maven.install(
"https://repo1.maven.org/maven2",
],
)
# Force specific versions for dependencies with conflicts between grpc-java and protobuf
maven.artifact(
artifact = "gson",
force_version = True,
group = "com.google.code.gson",
version = "2.11.0",
)
maven.artifact(
artifact = "error_prone_annotations",
force_version = True,
group = "com.google.errorprone",
version = "2.30.0",
)
maven.artifact(
artifact = "guava",
force_version = True,
group = "com.google.guava",
version = "33.3.1-android",
)
use_repo(maven, "maven", "unpinned_maven")
#
+100 -4270
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -1,9 +1,10 @@
{
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
"__INPUT_ARTIFACTS_HASH": 434250008,
"__INPUT_ARTIFACTS_HASH": -2012456741,
"__RESOLVED_ARTIFACTS_HASH": -824975294,
"conflict_resolution": {
"com.google.guava:failureaccess:1.0.1": "com.google.guava:failureaccess:1.0.2",
"com.google.j2objc:j2objc-annotations:2.8": "com.google.j2objc:j2objc-annotations:3.0.0",
"com.squareup.okio:okio:2.10.0": "com.squareup.okio:okio:3.6.0",
"io.netty:netty-buffer:4.1.110.Final": "io.netty:netty-buffer:4.1.130.Final",
"io.netty:netty-codec-http2:4.1.110.Final": "io.netty:netty-codec-http2:4.1.130.Final",
+1 -1
View File
@@ -31,7 +31,7 @@ scala_toolchain(
# Also suppress duplicate flag warnings caused by rules_scala test_reporter
# Suppress warnings from external deps, generated code, and some stylistic warnings
# Suppress "unused value" warnings in test code since ScalaTest assertions work via side effects
"-Wconf:src=external/rules_scala~/.*:silent,src=external/protobuf~/.*:silent,msg=Flag.*set repeatedly:silent,msg=Compiler synthesis of Manifest:silent,src=.*_scalac/.*:silent,msg=interpolation uses toString:silent,msg=unused value of type org.scalatest:silent,msg=Could not verify that the method argument is transitively initialized:silent,msg=Problematic object instantiation:silent,msg=may cause initialization errors:silent",
"-Wconf:src=external/rules_scala.*/.*:silent,src=external/protobuf.*/.*:silent,msg=Flag.*set repeatedly:silent,msg=Compiler synthesis of Manifest:silent,src=.*_scalac/.*:silent,msg=interpolation uses toString:silent,msg=unused value of type org.scalatest:silent,msg=Could not verify that the method argument is transitively initialized:silent,msg=Problematic object instantiation:silent,msg=may cause initialization errors:silent",
# Enable all warnings including exhaustive pattern matching checks
"-Wall",
"-Werror",
+2 -1
View File
@@ -1,3 +1,4 @@
COPTS = ["--std=c++23", "-Werror", "-Wall", "-Wextra", "-Wdeprecated"]
# Suppress -Wdeprecated-copy-with-dtor after -Wdeprecated due to protobuf 32.x warning
COPTS = ["--std=c++23", "-Werror", "-Wall", "-Wextra", "-Wdeprecated", "-Wno-deprecated-copy-with-dtor"]
TEST_COPTS = COPTS + ["-Iexternal/gtest/include"]