From 76dd7a71f4075043b9a136911958d1a004c5f98d Mon Sep 17 00:00:00 2001 From: Mike Bland Date: Fri, 29 Nov 2024 12:36:11 -0500 Subject: [PATCH] Begin Bazel 8 / rules_java 8 compatibility updates Bumps dependencies to versions that are compatible with both Bazel 7.4.1 and 8.0.0. Part of #1652. - `rules_python`: 0.38.0 => 0.40.0 - `rules_cc`: 0.0.9 => 0.1.0 - `abseil-cpp`: 20220623.1 => 20240722.0 - `rules_java`: 7.12.3 => 8.5.1 - `protobuf`: 21.7 => 29.0 - `rules_proto`: 6.0.2 => 7.0.2 This precipitated the following updates also included in this commit: - Loads `java_proto_library` from `com_google_protobuf`. - Calls `java_repository()` after `protobuf_deps()` in `WORKSPACE`. - Bumps `.bazelversion` to 7.4.1. - Sets `common --{,no}enable_{workspace,bzlmod}`. This change by itself fails with the following error. Bumping to ScalaPB 1.0.0-alpha.1 in the next commit fixes this. ```txt ERROR: .../external/com_google_protobuf/src/google/protobuf/BUILD.bazel:23:14: ProtoScalaPBRule external/com_google_protobuf/src/google/protobuf/any_proto_jvm_extra_protobuf_generator_scalapb.srcjar failed: (Exit 1): scalapb_worker failed: error executing ProtoScalaPBRule command (from target @@com_google_protobuf//src/google/protobuf:any_proto) bazel-out/.../bin/src/scala/scripts/scalapb_worker ... (remaining 2 arguments skipped) --jvm_extra_protobuf_generator_out: java.lang.NoSuchMethodError: 'java.lang.Object com.google.protobuf.DescriptorProtos$FieldOptions.getExtension(com.google.protobuf.GeneratedMessage$GeneratedExtension)' at scalapb.compiler.DescriptorImplicits$ExtendedFieldDescriptor.fieldOptions(DescriptorImplicits.scala:329) at scalapb.compiler.DescriptorImplicits$ExtendedFieldDescriptor.scalaName(DescriptorImplicits.scala:207) at scalapb.compiler.ProtoValidation.validateField(ProtoValidation.scala:121) at scalapb.compiler.ProtoValidation.$anonfun$validateMessage$3(ProtoValidation.scala:56) at scalapb.compiler.ProtoValidation.$anonfun$validateMessage$3$adapted(ProtoValidation.scala:56) at scala.collection.Iterator.foreach(Iterator.scala:943) at scala.collection.Iterator.foreach$(Iterator.scala:943) at scala.collection.AbstractIterator.foreach(Iterator.scala:1431) at scala.collection.IterableLike.foreach(IterableLike.scala:74) at scala.collection.IterableLike.foreach$(IterableLike.scala:73) at scala.collection.AbstractIterable.foreach(Iterable.scala:56) at scalapb.compiler.ProtoValidation.validateMessage(ProtoValidation.scala:56) at scalapb.compiler.ProtoValidation.$anonfun$validateFile$2(ProtoValidation.scala:17) at scalapb.compiler.ProtoValidation.$anonfun$validateFile$2$adapted(ProtoValidation.scala:17) at scala.collection.Iterator.foreach(Iterator.scala:943) at scala.collection.Iterator.foreach$(Iterator.scala:943) at scala.collection.AbstractIterator.foreach(Iterator.scala:1431) at scala.collection.IterableLike.foreach(IterableLike.scala:74) at scala.collection.IterableLike.foreach$(IterableLike.scala:73) at scala.collection.AbstractIterable.foreach(Iterable.scala:56) at scalapb.compiler.ProtoValidation.validateFile(ProtoValidation.scala:17) at scalapb.compiler.ProtoValidation.$anonfun$validateFiles$1(ProtoValidation.scala:10) at scalapb.compiler.ProtoValidation.$anonfun$validateFiles$1$adapted(ProtoValidation.scala:10) at scala.collection.immutable.Stream.foreach(Stream.scala:533) at scalapb.compiler.ProtoValidation.validateFiles(ProtoValidation.scala:10) at scalarules.test.extra_protobuf_generator.ExtraProtobufGenerator$.handleCodeGeneratorRequest(ExtraProtobufGenerator.scala:86) at scalarules.test.extra_protobuf_generator.ExtraProtobufGenerator$.run(ExtraProtobufGenerator.scala:55) at protocbridge.frontend.PluginFrontend$.$anonfun$runWithBytes$1(PluginFrontend.scala:51) at scala.util.Try$.apply(Try.scala:213) at protocbridge.frontend.PluginFrontend$.runWithBytes(PluginFrontend.scala:51) at protocbridge.frontend.PluginFrontend$.runWithInputStream(PluginFrontend.scala:121) at protocbridge.frontend.PosixPluginFrontend$.$anonfun$prepare$2(PosixPluginFrontend.scala:40) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at scala.concurrent.impl.ExecutionContextImpl$DefaultThreadFactory$$anon$1$$anon$2.block(ExecutionContextImpl.scala:75) at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3118) at scala.concurrent.impl.ExecutionContextImpl$DefaultThreadFactory$$anon$1.blockOn(ExecutionContextImpl.scala:87) at scala.concurrent.package$.blocking(package.scala:146) at protocbridge.frontend.PosixPluginFrontend$.$anonfun$prepare$1(PosixPluginFrontend.scala:38) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:659) at scala.util.Success.$anonfun$map$1(Try.scala:255) at scala.util.Success.map(Try.scala:213) at scala.concurrent.Future.$anonfun$map$1(Future.scala:292) at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:42) at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:74) at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) java.lang.RuntimeException: Exit with code 1 at scala.sys.package$.error(package.scala:30) at scripts.ScalaPBWorker$.work(ScalaPBWorker.scala:44) at io.bazel.rulesscala.worker.Worker.persistentWorkerMain(Worker.java:96) at io.bazel.rulesscala.worker.Worker.workerMain(Worker.java:49) at scripts.ScalaPBWorker$.main(ScalaPBWorker.scala:39) at scripts.ScalaPBWorker.main(ScalaPBWorker.scala) ERROR: .../external/com_google_protobuf/src/google/protobuf/BUILD.bazel:23:14 Building source jar external/com_google_protobuf/src/google/protobuf/any_proto_scalapb-src.jar failed: (Exit 1): scalapb_worker failed: error executing ProtoScalaPBRule command (from target @@com_google_protobuf//src/google/protobuf:any_proto) bazel-out/darwin_arm64-opt-exec-ST-a828a81199fe/bin/src/scala/scripts/scalapb_worker ... (remaining 2 arguments skipped) ``` Here's why the other changes were necessary in light of the version bumps: - `java_proto_library` from `rules_java` is now officially deprecated, hence loading it from `com_google_protobuf`. - The `rules_java` release notes suggest either loading `proto_bazel_features` from `@com_google_protobuf` or just calling `protobuf_deps()`. The key point is that the project must instantiate the `@proto_bazel_features` repo _before_ calling `rules_java_toolchains`. Hence, we've moved the `rules_java_toolchains()` call to follow `protobuf_deps()`. - We're using Bazel 7.4.1 in order to upgrade `abseil-cpp` to 20240722.0 and `protobuf` to v29.0. This is instead of keeping `.bazelversion` at 6.5.0 and setting C++ compiler flags in `.bazelrc` as described in #1647. - Setting `common --{,no}enable_{workspace,bzlmod}` fixes `test_semanticdb_handles_removed_sourcefiles`. This test relies on `bazel query`, which is also affected by these flags, hence `common` instead of `build`. Bazel 8 defaults to `--enable_bzlmod --noenable_workspace`, causing the `WORKSPACE` run of this test to fail. --- .bazelrc | 2 +- .bazelversion | 2 +- WORKSPACE | 10 ++++--- dt_patches/compiler_sources/.bazelversion | 2 +- dt_patches/test_dt_patches/.bazelversion | 2 +- dt_patches/test_dt_patches/WORKSPACE | 10 ++++--- .../test_dt_patches_user_srcjar/.bazelversion | 2 +- .../test_dt_patches_user_srcjar/WORKSPACE | 10 ++++--- examples/crossbuild/.bazelversion | 2 +- examples/crossbuild/WORKSPACE | 10 ++++--- examples/scala3/.bazelversion | 2 +- examples/scala3/WORKSPACE | 10 ++++--- examples/semanticdb/.bazelversion | 2 +- examples/semanticdb/WORKSPACE | 10 ++++--- .../multi_frameworks_toolchain/.bazelversion | 2 +- .../multi_frameworks_toolchain/WORKSPACE | 10 ++++--- .../scalatest_repositories/.bazelversion | 2 +- .../testing/scalatest_repositories/WORKSPACE | 10 ++++--- .../specs2_junit_repositories/.bazelversion | 2 +- .../specs2_junit_repositories/WORKSPACE | 10 ++++--- scala/deps.bzl | 29 +++++++++---------- .../io/bazel/rulesscala/scalac/reporter/BUILD | 5 +++- src/protobuf/io/bazel/rules_scala/BUILD | 5 +++- .../repo/.bazelversion | 2 +- test/semanticdb/BUILD | 1 + test_cross_build/.bazelversion | 2 +- test_cross_build/WORKSPACE | 10 ++++--- test_version/WORKSPACE.template | 10 ++++--- .../example_external_workspace/.bazelversion | 2 +- .../test/example_external_workspace/WORKSPACE | 10 ++++--- third_party/test/new_local_repo/.bazelversion | 2 +- third_party/test/proto/.bazelversion | 2 +- third_party/test/proto/WORKSPACE | 10 ++++--- 33 files changed, 117 insertions(+), 85 deletions(-) diff --git a/.bazelrc b/.bazelrc index 498871943..4993b2992 100644 --- a/.bazelrc +++ b/.bazelrc @@ -6,4 +6,4 @@ build:windows --worker_quit_after_build --enable_runfiles # Remove upon completing Bzlmod compatibility work. # - https://github.com/bazelbuild/rules_scala/issues/1482 -build --noenable_bzlmod +common --noenable_bzlmod --enable_workspace diff --git a/.bazelversion b/.bazelversion index f22d756da..815da58b7 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/WORKSPACE b/WORKSPACE index d45d73099..8afdf7959 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -5,7 +5,7 @@ load("//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -15,9 +15,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -28,6 +28,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/dt_patches/compiler_sources/.bazelversion b/dt_patches/compiler_sources/.bazelversion index f22d756da..815da58b7 100644 --- a/dt_patches/compiler_sources/.bazelversion +++ b/dt_patches/compiler_sources/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/dt_patches/test_dt_patches/.bazelversion b/dt_patches/test_dt_patches/.bazelversion index f22d756da..815da58b7 100644 --- a/dt_patches/test_dt_patches/.bazelversion +++ b/dt_patches/test_dt_patches/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/dt_patches/test_dt_patches/WORKSPACE b/dt_patches/test_dt_patches/WORKSPACE index 3ecd64c5b..434f7524b 100644 --- a/dt_patches/test_dt_patches/WORKSPACE +++ b/dt_patches/test_dt_patches/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -32,6 +32,8 @@ py_repositories() load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + protobuf_deps() rules_java_toolchains() diff --git a/dt_patches/test_dt_patches_user_srcjar/.bazelversion b/dt_patches/test_dt_patches_user_srcjar/.bazelversion index f22d756da..815da58b7 100644 --- a/dt_patches/test_dt_patches_user_srcjar/.bazelversion +++ b/dt_patches/test_dt_patches_user_srcjar/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/dt_patches/test_dt_patches_user_srcjar/WORKSPACE b/dt_patches/test_dt_patches_user_srcjar/WORKSPACE index 2d2fd5e93..2042fcaf1 100644 --- a/dt_patches/test_dt_patches_user_srcjar/WORKSPACE +++ b/dt_patches/test_dt_patches_user_srcjar/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/examples/crossbuild/.bazelversion b/examples/crossbuild/.bazelversion index f22d756da..815da58b7 100644 --- a/examples/crossbuild/.bazelversion +++ b/examples/crossbuild/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/examples/crossbuild/WORKSPACE b/examples/crossbuild/WORKSPACE index 85d104a82..af9fddc51 100644 --- a/examples/crossbuild/WORKSPACE +++ b/examples/crossbuild/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/examples/scala3/.bazelversion b/examples/scala3/.bazelversion index f22d756da..815da58b7 100644 --- a/examples/scala3/.bazelversion +++ b/examples/scala3/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/examples/scala3/WORKSPACE b/examples/scala3/WORKSPACE index c62355166..3b599d9e8 100644 --- a/examples/scala3/WORKSPACE +++ b/examples/scala3/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/examples/semanticdb/.bazelversion b/examples/semanticdb/.bazelversion index f22d756da..815da58b7 100644 --- a/examples/semanticdb/.bazelversion +++ b/examples/semanticdb/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/examples/semanticdb/WORKSPACE b/examples/semanticdb/WORKSPACE index 14ea2b4a5..746fb11e9 100644 --- a/examples/semanticdb/WORKSPACE +++ b/examples/semanticdb/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/examples/testing/multi_frameworks_toolchain/.bazelversion b/examples/testing/multi_frameworks_toolchain/.bazelversion index f22d756da..815da58b7 100644 --- a/examples/testing/multi_frameworks_toolchain/.bazelversion +++ b/examples/testing/multi_frameworks_toolchain/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/examples/testing/multi_frameworks_toolchain/WORKSPACE b/examples/testing/multi_frameworks_toolchain/WORKSPACE index 52735d65c..7b1b388e9 100644 --- a/examples/testing/multi_frameworks_toolchain/WORKSPACE +++ b/examples/testing/multi_frameworks_toolchain/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/examples/testing/scalatest_repositories/.bazelversion b/examples/testing/scalatest_repositories/.bazelversion index f22d756da..815da58b7 100644 --- a/examples/testing/scalatest_repositories/.bazelversion +++ b/examples/testing/scalatest_repositories/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/examples/testing/scalatest_repositories/WORKSPACE b/examples/testing/scalatest_repositories/WORKSPACE index 11bcef98a..a820029fc 100644 --- a/examples/testing/scalatest_repositories/WORKSPACE +++ b/examples/testing/scalatest_repositories/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/examples/testing/specs2_junit_repositories/.bazelversion b/examples/testing/specs2_junit_repositories/.bazelversion index f22d756da..815da58b7 100644 --- a/examples/testing/specs2_junit_repositories/.bazelversion +++ b/examples/testing/specs2_junit_repositories/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/examples/testing/specs2_junit_repositories/WORKSPACE b/examples/testing/specs2_junit_repositories/WORKSPACE index 0a43b04d9..648bc1723 100644 --- a/examples/testing/specs2_junit_repositories/WORKSPACE +++ b/examples/testing/specs2_junit_repositories/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/scala/deps.bzl b/scala/deps.bzl index 0069ded6d..112474795 100644 --- a/scala/deps.bzl +++ b/scala/deps.bzl @@ -18,41 +18,40 @@ def rules_scala_dependencies(): maybe( http_archive, name = "rules_cc", - urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz"], - sha256 = "2037875b9a4456dce4a79d112a8ae885bbc4aad968e6587dca6e64f3a0900cdf", - strip_prefix = "rules_cc-0.0.9", + urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.1.0/rules_cc-0.1.0.tar.gz"], + sha256 = "4b12149a041ddfb8306a8fd0e904e39d673552ce82e4296e96fac9cbf0780e59", + strip_prefix = "rules_cc-0.1.0", ) - # Needed by protobuf-21.7 and Bazel 6.5.0, as later versions require C++14. maybe( http_archive, name = "com_google_absl", - sha256 = "91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8", - strip_prefix = "abseil-cpp-20220623.1", - url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20220623.1.tar.gz", + sha256 = "f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3", + strip_prefix = "abseil-cpp-20240722.0", + url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20240722.0.tar.gz", ) maybe( http_archive, name = "rules_java", urls = [ - "https://github.com/bazelbuild/rules_java/releases/download/7.12.3/rules_java-7.12.3.tar.gz", + "https://github.com/bazelbuild/rules_java/releases/download/8.5.1/rules_java-8.5.1.tar.gz", ], - sha256 = "c0ee60f8757f140c157fc2c7af703d819514de6e025ebf70386d38bdd85fce83", + sha256 = "1389206b2208c5f33a05dd96e51715b0855c480c082b7bb4889a8e07fcff536c", ) maybe( http_archive, name = "com_google_protobuf", - sha256 = "75be42bd736f4df6d702a0e4e4d30de9ee40eac024c4b845d17ae4cc831fe4ae", - strip_prefix = "protobuf-21.7", - url = "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v21.7.tar.gz", + sha256 = "10a0d58f39a1a909e95e00e8ba0b5b1dc64d02997f741151953a2b3659f6e78c", + strip_prefix = "protobuf-29.0", + url = "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v29.0.tar.gz", ) maybe( http_archive, name = "rules_proto", - sha256 = "6fb6767d1bef535310547e03247f7518b03487740c11b6c6adb7952033fe1295", - strip_prefix = "rules_proto-6.0.2", - url = "https://github.com/bazelbuild/rules_proto/releases/download/6.0.2/rules_proto-6.0.2.tar.gz", + sha256 = "0e5c64a2599a6e26c6a03d6162242d231ecc0de219534c38cb4402171def21e8", + strip_prefix = "rules_proto-7.0.2", + url = "https://github.com/bazelbuild/rules_proto/releases/download/7.0.2/rules_proto-7.0.2.tar.gz", ) diff --git a/src/java/io/bazel/rulesscala/scalac/reporter/BUILD b/src/java/io/bazel/rulesscala/scalac/reporter/BUILD index 210b6c5d4..70d180364 100644 --- a/src/java/io/bazel/rulesscala/scalac/reporter/BUILD +++ b/src/java/io/bazel/rulesscala/scalac/reporter/BUILD @@ -1,4 +1,7 @@ -load("@rules_java//java:defs.bzl", "java_library", "java_proto_library") +load( + "@com_google_protobuf//bazel:java_proto_library.bzl", + "java_proto_library", +) load("@rules_proto//proto:defs.bzl", "proto_library") load("//scala:scala_cross_version_select.bzl", "select_for_scala_version") diff --git a/src/protobuf/io/bazel/rules_scala/BUILD b/src/protobuf/io/bazel/rules_scala/BUILD index 438db80a9..4bd043883 100644 --- a/src/protobuf/io/bazel/rules_scala/BUILD +++ b/src/protobuf/io/bazel/rules_scala/BUILD @@ -1,5 +1,8 @@ +load( + "@com_google_protobuf//bazel:java_proto_library.bzl", + "java_proto_library", +) load("@rules_proto//proto:defs.bzl", "proto_library") -load("@rules_java//java:defs.bzl", "java_proto_library") proto_library( name = "diagnostics_proto", diff --git a/test/proto_cross_repo_boundary/repo/.bazelversion b/test/proto_cross_repo_boundary/repo/.bazelversion index f22d756da..815da58b7 100644 --- a/test/proto_cross_repo_boundary/repo/.bazelversion +++ b/test/proto_cross_repo_boundary/repo/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/test/semanticdb/BUILD b/test/semanticdb/BUILD index 37e3ec0e8..076c8e214 100644 --- a/test/semanticdb/BUILD +++ b/test/semanticdb/BUILD @@ -57,5 +57,6 @@ scala_library( "*.scala", "tempsrc/*.scala", #Include src files that are dynamically generated by the test_semanticdb.sh (tmpsrc should be in .gitignore so its contents don't get checked in) ], + allow_empty = True, ), ) diff --git a/test_cross_build/.bazelversion b/test_cross_build/.bazelversion index f22d756da..815da58b7 100644 --- a/test_cross_build/.bazelversion +++ b/test_cross_build/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/test_cross_build/WORKSPACE b/test_cross_build/WORKSPACE index a9acbdbeb..2ac094bb5 100644 --- a/test_cross_build/WORKSPACE +++ b/test_cross_build/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/test_version/WORKSPACE.template b/test_version/WORKSPACE.template index c63c59e19..c3d27ec55 100644 --- a/test_version/WORKSPACE.template +++ b/test_version/WORKSPACE.template @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/third_party/test/example_external_workspace/.bazelversion b/third_party/test/example_external_workspace/.bazelversion index f22d756da..815da58b7 100644 --- a/third_party/test/example_external_workspace/.bazelversion +++ b/third_party/test/example_external_workspace/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/third_party/test/example_external_workspace/WORKSPACE b/third_party/test/example_external_workspace/WORKSPACE index e4e9652e7..bc940d99f 100644 --- a/third_party/test/example_external_workspace/WORKSPACE +++ b/third_party/test/example_external_workspace/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") diff --git a/third_party/test/new_local_repo/.bazelversion b/third_party/test/new_local_repo/.bazelversion index f22d756da..815da58b7 100644 --- a/third_party/test/new_local_repo/.bazelversion +++ b/third_party/test/new_local_repo/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/third_party/test/proto/.bazelversion b/third_party/test/proto/.bazelversion index f22d756da..815da58b7 100644 --- a/third_party/test/proto/.bazelversion +++ b/third_party/test/proto/.bazelversion @@ -1 +1 @@ -6.5.0 +7.4.1 diff --git a/third_party/test/proto/WORKSPACE b/third_party/test/proto/WORKSPACE index 36b725293..30a0ca146 100644 --- a/third_party/test/proto/WORKSPACE +++ b/third_party/test/proto/WORKSPACE @@ -11,7 +11,7 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies") rules_scala_dependencies() -load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains") +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") rules_java_dependencies() @@ -21,9 +21,9 @@ bazel_skylib_workspace() http_archive( name = "rules_python", - sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34", - strip_prefix = "rules_python-0.38.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz", + sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", + strip_prefix = "rules_python-0.40.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories") @@ -34,6 +34,8 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + rules_java_toolchains() load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")