Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bazel, module, and JAR upgrades (#182)
Updates as much as possible except rules_jvm_external. The latest rules_jvm_external v6.1 breaks this project, both under the previous Bazel version (7.0.2) and the new one (7.2.1). I've filed bazel-contrib/rules_jvm_external#1189, which uses this repo and this PR as an example. See the last section below for details. --- Bazel update: - Bazel v7.2.1 https://github.com/bazelbuild/bazel/releases/tag/7.2.1 Bazel module updates: - bazel-skylib v1.7.1 https://github.com/bazelbuild/bazel-skylib/releases/tag/1.7.1 - platforms v0.0.10 https://github.com/bazelbuild/platforms/releases/tag/0.0.10 - rules_proto v6.0.2 https://github.com/bazelbuild/rules_proto/releases/tag/6.0.2 JAR updates: - com.google.code.gson:gson:2.11.0 - com.google.guava:guava:33.2.1-jre - commons-cli:commons-cli:1.8.0 Test JAR updates: - com.google.googlejavaformat:google-java-format:1.22.0 - com.google.truth:truth:1.4.3 - com.google.truth.extensions:truth-java8-extension:1.4.3 - org.mockito:mockito-core:5.12.0 --- Added explicit module spec and repinned the maven deps for: - protobuf v27.2 https://github.com/protocolbuffers/protobuf/releases/tag/v27.2 Adding protobuf explicitly resolves these warnings: ```txt DEBUG: .../external/rules_jvm_external~/private/extensions/maven.bzl:154:14: The maven repository 'maven' is used in two different bazel modules, originally in 'com_engflow_bazel_invocation_analyzer' and now in 'protobuf' DEBUG: .../external/rules_jvm_external~/private/extensions/maven.bzl:154:14: The maven repository 'maven' is used in two different bazel modules, originally in 'com_engflow_bazel_invocation_analyzer' and now in 'protobuf' DEBUG: .../external/rules_jvm_external~/coursier.bzl:593:18: Found duplicate artifact versions com.google.code.gson:gson has multiple versions 2.11.0, 2.8.9 com.google.guava:guava has multiple versions 33.2.1-jre, 31.1-jre com.google.truth:truth has multiple versions 1.4.3, 1.1.2 org.mockito:mockito-core has multiple versions 5.12.0, 4.3.1 Please remove duplicate artifacts from the artifact list so you do not get unexpected artifact versions ``` See also: - Duplicate maven repositories when importing bazel_deps that use maven.install bazel-contrib/rules_jvm_external#916 - Using maven as the repo name causes duplicate warnings when using bzlmod protocolbuffers/protobuf#16839 - MODULE.bazel doesn't define @maven repository protocolbuffers/protobuf#17176 - Stop including extra artifacts on maven.install() bazel-contrib/rules_jvm_external#1168 - Use a custom name for the maven repository (maven_protobuf) protocolbuffers/protobuf#17190 --- rules_jvm_external v6.1 somehow creates duplicate `jvm_import` rules for binary and source jars, instead of using the `srcjar` attribute: ```txt ERROR: Traceback (most recent call last): File ".../external/rules_jvm_external~~maven~maven/BUILD", line 34, column 11, in <toplevel> jvm_import( Error in jvm_import: jvm_import rule 'com_google_auto_value_auto_value_annotations' in package '' conflicts with existing jvm_import rule, defined at .../external/rules_jvm_external~~maven~maven/BUILD:9:11 ``` The content of rules_jvm_external~~maven~maven/BUILD at lines 9 and 34: ```bzl jvm_import( name = "com_google_auto_value_auto_value_annotations", jars = ["com/google/auto/value/auto-value-annotations/1.10.1/auto-value-annotations-1.10.1.jar"], ``` ```bzl jvm_import( name = "com_google_auto_value_auto_value_annotations", jars = ["com/google/auto/value/auto-value-annotations/1.10.1/auto-value-annotations-1.10.1-sources.jar"], ``` This pattern repeats for all the JAR targets. The BUILD contents from v5.3, which builds successfully both before and after applying the PR changes: ```bzl jvm_import( name = "com_google_auto_value_auto_value_annotations", jars = ["com/google/auto/value/auto-value-annotations/1.10.1/auto-value-annotations-1.10.1.jar"], srcjar = "com/google/auto/value/auto-value-annotations/1.10.1/auto-value-annotations-1.10.1-sources.jar", ``` --------- Signed-off-by: Mike Bland <mbland@engflow.com>
- Loading branch information