diff --git a/.bazelrc b/.bazelrc
index 65cc8c491e52..d2a1016ba2da 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -32,3 +32,11 @@ common --noenable_bzlmod
build --features=layering_check
common --repo_env=BAZEL_NO_APPLE_CPP_TOOLCHAIN=1
+
+# JPMS and Turbine do not get along yet.
+build --nojava_header_compilation
+build --incompatible_use_toolchain_resolution_for_java_rules
+build --java_language_version=11
+build --java_runtime_version=11
+build --tool_java_language_version=11
+build --tool_java_runtime_version=11
diff --git a/.bazelversion b/.bazelversion
new file mode 100644
index 000000000000..91e4a9f26224
--- /dev/null
+++ b/.bazelversion
@@ -0,0 +1 @@
+6.3.2
diff --git a/WORKSPACE b/WORKSPACE
index e4ae60df0fe1..f750608223b7 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -62,6 +62,7 @@ maven_install(
repositories = [
"https://repo1.maven.org/maven2",
"https://repo.maven.apache.org/maven2",
+ "https://jpms.pkg.st/repository",
],
)
@@ -91,11 +92,11 @@ load("@rules_cc//cc:repositories.bzl", "rules_cc_dependencies")
rules_cc_dependencies()
# For `kt_jvm_library`
-load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories")
+load("@rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories")
kotlin_repositories()
-load("@io_bazel_rules_kotlin//kotlin:core.bzl", "kt_register_toolchains")
+load("@rules_kotlin//kotlin:core.bzl", "kt_register_toolchains")
kt_register_toolchains()
diff --git a/build_defs/java_opts.bzl b/build_defs/java_opts.bzl
index 2da4e5f6d47b..e963cdf18b83 100644
--- a/build_defs/java_opts.bzl
+++ b/build_defs/java_opts.bzl
@@ -1,22 +1,43 @@
"""Java options and protobuf-specific java build rules with those options."""
-load("@rules_java//java:defs.bzl", "java_library")
+load("@rules_java//java:defs.bzl", "java_library", "java_import")
load("@rules_jvm_external//:defs.bzl", "java_export")
load("//java/osgi:osgi.bzl", "osgi_java_library")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
+BUNDLE_DOC_URL = "https://developers.google.com/protocol-buffers/"
+BUNDLE_LICENSE = "https://opensource.org/licenses/BSD-3-Clause"
+
+## JDK target to use for versioned classes.
+JPMS_JDK_TARGET = "9"
+
+## Java compiler options for JDK 8.
JAVA_OPTS = [
"-source 8",
"-target 8",
"-Xep:Java8ApiChecker:ERROR",
]
-BUNDLE_DOC_URL = "https://developers.google.com/protocol-buffers/"
-BUNDLE_LICENSE = "https://opensource.org/licenses/BSD-3-Clause"
+## Java compiler options for JDK 9+.
+JAVA9_OPTS = [
+ "-source 9",
+ "-target 9",
+]
+
+## Default JAR manifest entries to stamp on export.
+DEFAULT_MANIFEST_ENTRIES = {
+ "Multi-Release": "true"
+}
+
+## Default visibility settings for Java module targets.
+DEFAULT_JMOD_VISIBILITY = [
+ "//java:__subpackages__",
+]
def protobuf_java_export(**kwargs):
java_export(
javacopts = JAVA_OPTS,
+ manifest_entries = DEFAULT_MANIFEST_ENTRIES,
**kwargs
)
@@ -26,8 +47,122 @@ def protobuf_java_library(**kwargs):
**kwargs
)
+def protobuf_java_module(
+ name,
+ module,
+ module_deps = [],
+ deps = [],
+ jvm_version = JPMS_JDK_TARGET,
+ visibility = DEFAULT_JMOD_VISIBILITY,
+ **kwargs):
+ """Builds a `module-info.java` definition for use with a Protobuf Java target.
+
+ This macro replaces a chain of `java_library` and `genrule` steps to coax Bazel
+ into placing the `module-info.class` at the right path in a versioned modular
+ MRJAR (Multi-Release JAR).
+
+ The name provided to this target is then meant to be used downstream as a
+ JAR-unwrapped classfile. For example:
+
+ ```starlark
+ protobuf_java_module(
+ name = "my-module",
+ module = "src/some/module-info.java",
+ )
+ java_library(
+ name = "...",
+ resources = [":my-module"],
+ resource_strip_prefix = "src/some/",
+ )
+ ```
+
+ Args:
+ name: (required) The target name; a naked `.class` file
+ module: (required) Source file path for the `module-info.java`
+ module_deps: Other `protobuf_java_module` targets this one depends on
+ deps: Regular dependencies to add to the `java_library` target
+ jvm_version: JVM version for the path in the MRJAR; defaults to `9`.
+ visibility: Visibility setting to give the created targets.
+ **kwargs: Keyword arguments to pass to `java_library`
+ """
+
+ # like: `module-java9`
+ module_target_name = "module-java%s" % jvm_version
+
+ # like: `module-java9-class`
+ module_class_target_name = "module-java%s-class" % jvm_version
+
+ # like: `module-java9-[zip|jar]`
+ zip_target_name = "module-java%s-zip" % jvm_version
+ jar_target_name = "%s-jar" % name
+ module_compilejar_target_name = "%s-compilejar" % name
+
+ # like: `META-INF/versions/9`
+ class_prefix = "META-INF/versions/%s" % jvm_version
+ class_file = "%s/module-info.class" % class_prefix
+ repacked_jar_file = "module-java%s.jar" % jvm_version
+
+ # command:
+ # mkdir -p `META-INF/versions/9` &&
+ # unzip -p module.jar module-info.class > `META-INF/verisons/9/module-info.class`
+ extract_classfile_command = " && ".join([
+ "mkdir -p %s" % class_prefix,
+ "unzip -p $(location :module-java%s) module-info.class > $@" % jvm_version,
+ ])
+
+ # command:
+ # zip -r - META-INF > module-java9.jar
+ repack_zip_command = " && ".join([
+ "mkdir -p %s" % class_prefix,
+ "unzip -p $(location :module-java%s) module-info.class > %s" % (jvm_version, class_file),
+ "zip -r - META-INF > $@",
+ ])
+
+ deps_rewritten = []
+ if len(module_deps) > 0:
+ deps_rewritten = [
+ "%s-compilejar" % i for i in module_deps
+ ]
+
+ java_library(
+ name = module_target_name,
+ srcs = [module],
+ javacopts = JAVA9_OPTS,
+ deps = deps_rewritten + (deps or []),
+ visibility = visibility,
+ **kwargs,
+ )
+ native.genrule(
+ name = module_class_target_name,
+ srcs = [module_target_name],
+ outs = [class_file],
+ cmd = extract_classfile_command,
+ visibility = visibility,
+ )
+ native.genrule(
+ name = zip_target_name,
+ srcs = [module_target_name],
+ outs = [repacked_jar_file],
+ cmd = repack_zip_command,
+ )
+ java_import(
+ name = jar_target_name,
+ jars = [zip_target_name],
+ visibility = visibility,
+ )
+ native.alias(
+ name = name,
+ actual = module_class_target_name,
+ visibility = visibility,
+ )
+ native.alias(
+ name = module_compilejar_target_name,
+ actual = module_target_name,
+ visibility = visibility,
+ )
+
def protobuf_versioned_java_library(
- automatic_module_name,
+ module_name,
bundle_description,
bundle_name,
bundle_symbolic_name,
@@ -45,9 +180,7 @@ def protobuf_versioned_java_library(
Args:
bundle_description: (required) The Bundle-Description header defines a short
description of this bundle.
- automatic_module_name: (required) The Automatic-Module-Name header that represents
- the name of the module when this bundle is used as an automatic
- module.
+ module_name: (required) The Java 9 module name for this target.
bundle_name: (required) The Bundle-Name header defines a readable name for this
bundle. This should be a short, human-readable name that can
contain spaces.
@@ -69,7 +202,7 @@ def protobuf_versioned_java_library(
"""
osgi_java_library(
javacopts = JAVA_OPTS,
- automatic_module_name = automatic_module_name,
+ module_name = module_name,
bundle_doc_url = BUNDLE_DOC_URL,
bundle_license = BUNDLE_LICENSE,
bundle_version = PROTOBUF_JAVA_VERSION,
diff --git a/build_defs/kt_opts.bzl b/build_defs/kt_opts.bzl
new file mode 100644
index 000000000000..f6a848c45d79
--- /dev/null
+++ b/build_defs/kt_opts.bzl
@@ -0,0 +1,96 @@
+"""Inlined version of `kt_jvm_export` from `rules_jvm_external`."""
+
+load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
+load("@rules_jvm_external//private/rules:java_export.bzl", "maven_export")
+load("@rules_jvm_external//private/rules:maven_project_jar.bzl", "DEFAULT_EXCLUDED_WORKSPACES")
+load("//build_defs:java_opts.bzl", "DEFAULT_MANIFEST_ENTRIES")
+
+def kt_jvm_export(
+ name,
+ maven_coordinates,
+ manifest_entries = DEFAULT_MANIFEST_ENTRIES,
+ deploy_env = [],
+ excluded_workspaces = {name: None for name in DEFAULT_EXCLUDED_WORKSPACES},
+ pom_template = None,
+ visibility = None,
+ tags = [],
+ testonly = None,
+ **kwargs):
+ """Extends `kt_jvm_library` to allow maven artifacts to be uploaded. This
+ rule is the Kotlin JVM version of `java_export`.
+
+ This macro can be used as a drop-in replacement for `kt_jvm_library`, but
+ also generates an implicit `name.publish` target that can be run to publish
+ maven artifacts derived from this macro to a maven repository. The publish
+ rule understands the following variables (declared using `--define` when
+ using `bazel run`):
+
+ * `maven_repo`: A URL for the repo to use. May be "https" or "file".
+ * `maven_user`: The user name to use when uploading to the maven repository.
+ * `maven_password`: The password to use when uploading to the maven repository.
+
+ This macro also generates a `name-pom` target that creates the `pom.xml` file
+ associated with the artifacts. The template used is derived from the (optional)
+ `pom_template` argument, and the following substitutions are performed on
+ the template file:
+
+ * `{groupId}`: Replaced with the maven coordinates group ID.
+ * `{artifactId}`: Replaced with the maven coordinates artifact ID.
+ * `{version}`: Replaced by the maven coordinates version.
+ * `{type}`: Replaced by the maven coordintes type, if present (defaults to "jar")
+ * `{dependencies}`: Replaced by a list of maven dependencies directly relied upon
+ by kt_jvm_library targets within the artifact.
+
+ The "edges" of the artifact are found by scanning targets that contribute to
+ runtime dependencies for the following tags:
+
+ * `maven_coordinates=group:artifact:type:version`: Specifies a dependency of
+ this artifact.
+ * `maven:compile-only`: Specifies that this dependency should not be listed
+ as a dependency of the artifact being generated.
+
+ To skip generation of the javadoc jar, add the `no-javadocs` tag to the target.
+
+ Generated rules:
+ * `name`: A `kt_jvm_library` that other rules can depend upon.
+ * `name-docs`: A javadoc jar file.
+ * `name-pom`: The pom.xml file.
+ * `name.publish`: To be executed by `bazel run` to publish to a maven repo.
+
+ Args:
+ name: A unique name for this target
+ maven_coordinates: The maven coordinates for this target.
+ pom_template: The template to be used for the pom.xml file.
+ manifest_entries: Manifest entries to pass to `java_export`.
+ deploy_env: A list of labels of java targets to exclude from the generated jar
+ visibility: The visibility of the target
+ kwargs: These are passed to [`kt_jvm_library`](https://bazelbuild.github.io/rules_kotlin/kotlin),
+ and so may contain any valid parameter for that rule.
+ """
+
+ maven_coordinates_tags = ["maven_coordinates=%s" % maven_coordinates]
+ lib_name = "%s-lib" % name
+
+ javadocopts = kwargs.pop("javadocopts", [])
+
+ # Construct the kt_jvm_library we'll export from here.
+ kt_jvm_library(
+ name = lib_name,
+ tags = tags + maven_coordinates_tags,
+ testonly = testonly,
+ **kwargs
+ )
+
+ maven_export(
+ name = name,
+ maven_coordinates = maven_coordinates,
+ lib_name = lib_name,
+ deploy_env = deploy_env,
+ excluded_workspaces = excluded_workspaces,
+ pom_template = pom_template,
+ visibility = visibility,
+ tags = tags,
+ testonly = testonly,
+ javadocopts = javadocopts,
+ manifest_entries = manifest_entries,
+ )
diff --git a/java/.mvn/wrapper/maven-wrapper.jar b/java/.mvn/wrapper/maven-wrapper.jar
new file mode 100644
index 000000000000..cb28b0e37c7d
Binary files /dev/null and b/java/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/java/.mvn/wrapper/maven-wrapper.properties b/java/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 000000000000..346d645fd06f
--- /dev/null
+++ b/java/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
diff --git a/java/BUILD.bazel b/java/BUILD.bazel
index 2a4bcb43810d..e78afaa883b7 100644
--- a/java/BUILD.bazel
+++ b/java/BUILD.bazel
@@ -51,6 +51,20 @@ filegroup(
],
)
+package_group(
+ name = "pkgs",
+ packages = [
+ "//java/%s" % x for x in [
+ "core",
+ "kotlin",
+ "kotlin-jmod",
+ "kotlin-lite",
+ "lite",
+ "util",
+ ]
+ ],
+)
+
################################################################################
# Packaging rules
################################################################################
diff --git a/java/core/BUILD.bazel b/java/core/BUILD.bazel
index ce6984ad65ac..a7dc96b5a871 100644
--- a/java/core/BUILD.bazel
+++ b/java/core/BUILD.bazel
@@ -4,10 +4,9 @@ load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
load("//:protobuf.bzl", "internal_gen_well_known_protos_java")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
-load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_library", "protobuf_versioned_java_library")
+load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_library", "protobuf_java_module", "protobuf_versioned_java_library")
load("//conformance:defs.bzl", "conformance_test")
load("//java/internal:testing.bzl", "junit_tests")
-load("//src/google/protobuf/editions:defaults.bzl", "compile_edition_defaults", "embed_edition_defaults")
LITE_SRCS = [
# Keep in sync with `//java/lite:pom.xml`.
@@ -122,9 +121,16 @@ internal_gen_well_known_protos_java(
],
)
+protobuf_java_module(
+ name = "javamodule",
+ module = "src/main/java/module-info.java",
+)
+
# Should be used as `//java/lite`.
java_library(
name = "lite",
+ resources = [":javamodule"],
+ resource_strip_prefix = "java/core/",
srcs = LITE_SRCS + [
":gen_well_known_protos_javalite",
],
@@ -138,12 +144,14 @@ protobuf_versioned_java_library(
srcs = LITE_SRCS + [
":gen_well_known_protos_javalite",
],
- automatic_module_name = "com.google.protobuf",
+ module_name = "com.google.protobuf",
bundle_description = "Lite version of Protocol Buffers library. This " +
"version is optimized for code size, but does not " +
"guarantee API/ABI stability.",
bundle_name = "Protocol Buffers [Lite]",
bundle_symbolic_name = "com.google.protobuf",
+ resources = [":javamodule"],
+ resource_strip_prefix = "java/core/",
visibility = [
"//java/lite:__pkg__",
],
@@ -210,6 +218,8 @@ java_library(
":gen_well_known_protos_java",
],
visibility = ["//visibility:public"],
+ resources = [":javamodule"],
+ resource_strip_prefix = "java/core/",
exports = [
":lite_runtime_only",
],
@@ -228,12 +238,14 @@ protobuf_versioned_java_library(
) + [
":gen_well_known_protos_java",
],
- automatic_module_name = "com.google.protobuf",
+ module_name = "com.google.protobuf",
bundle_description = "Core Protocol Buffers library. Protocol Buffers " +
"are a way of encoding structured data in an " +
"efficient yet extensible format.",
bundle_name = "Protocol Buffers [Core]",
bundle_symbolic_name = "com.google.protobuf",
+ resources = [":javamodule"],
+ resource_strip_prefix = "java/core/",
visibility = ["//visibility:public"],
exports = [
":lite_runtime_only",
diff --git a/java/core/generate-test-sources-build.xml b/java/core/generate-test-sources-build.xml
index a818213300ab..66e841561446 100644
--- a/java/core/generate-test-sources-build.xml
+++ b/java/core/generate-test-sources-build.xml
@@ -6,6 +6,7 @@
+
@@ -18,8 +19,10 @@
+
+
diff --git a/java/core/pom.xml b/java/core/pom.xml
index cdb9a113e9d5..43b519434e87 100644
--- a/java/core/pom.xml
+++ b/java/core/pom.xml
@@ -150,7 +150,7 @@
true
- com.google.protobuf
+ true
https://developers.google.com/protocol-buffers/
com.google.protobuf
com.google.protobuf;version=${project.version}
diff --git a/java/core/pom_template.xml b/java/core/pom_template.xml
index 11bd41964f8d..1f7cd424a2b5 100644
--- a/java/core/pom_template.xml
+++ b/java/core/pom_template.xml
@@ -28,7 +28,7 @@
true
- com.google.protobuf
+ true
https://developers.google.com/protocol-buffers/
com.google.protobuf
com.google.protobuf;version=${project.version}
diff --git a/java/core/src/main/java/module-info.java b/java/core/src/main/java/module-info.java
new file mode 100644
index 000000000000..0952e763be50
--- /dev/null
+++ b/java/core/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd
+
+open module com.google.protobuf {
+ requires java.logging;
+ exports com.google.protobuf;
+}
diff --git a/java/kotlin-jmod/BUILD.bazel b/java/kotlin-jmod/BUILD.bazel
new file mode 100644
index 000000000000..91fd4ae964b9
--- /dev/null
+++ b/java/kotlin-jmod/BUILD.bazel
@@ -0,0 +1,17 @@
+load("//build_defs:java_opts.bzl", "protobuf_java_module")
+
+package(default_visibility = [
+ "//java/kotlin:__subpackages__",
+ "//java/kotlin-lite:__subpackages__",
+])
+
+protobuf_java_module(
+ name = "javamodule",
+ module = "src/main/java/module-info.java",
+ module_deps = ["//java/core:javamodule"],
+)
+
+alias(
+ name = "kotlin-jmod",
+ actual = "javamodule",
+)
diff --git a/java/kotlin-jmod/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java b/java/kotlin-jmod/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java
new file mode 100644
index 000000000000..a3d8326e1437
--- /dev/null
+++ b/java/kotlin-jmod/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java
@@ -0,0 +1,4 @@
+package com.google.protobuf.kotlin;
+
+/** Invisible class for JPMS build. */
+final class ProtobufKotlin {}
diff --git a/java/kotlin-jmod/src/main/java/module-info.java b/java/kotlin-jmod/src/main/java/module-info.java
new file mode 100644
index 000000000000..d22ef387cec8
--- /dev/null
+++ b/java/kotlin-jmod/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd
+
+open module com.google.protobuf.kotlin {
+ requires com.google.protobuf;
+ exports com.google.protobuf.kotlin;
+}
diff --git a/java/kotlin-lite/BUILD.bazel b/java/kotlin-lite/BUILD.bazel
index ca0686f0896c..85b6e092a65a 100644
--- a/java/kotlin-lite/BUILD.bazel
+++ b/java/kotlin-lite/BUILD.bazel
@@ -1,10 +1,15 @@
-load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
+load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
load("@rules_java//java:defs.bzl", "java_lite_proto_library")
-load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
+load("//build_defs:kt_opts.bzl", "kt_jvm_export")
load("//:protobuf.bzl", "internal_gen_kt_protos")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
+alias(
+ name = "javamodule",
+ actual = "//java/kotlin:javamodule",
+)
+
java_lite_proto_library(
name = "example_extensible_message_java_proto_lite",
deps = ["//java/kotlin:example_extensible_message_proto"],
@@ -53,7 +58,10 @@ kt_jvm_export(
],
maven_coordinates = "com.google.protobuf:protobuf-kotlin-lite:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/kotlin-lite:pom_template.xml",
- resources = ["//:well_known_type_protos"],
+ resources = [
+ ":javamodule",
+ "//:well_known_type_protos"
+ ],
tags = ["manual"],
runtime_deps = [
":lite_extensions",
diff --git a/java/kotlin-lite/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java b/java/kotlin-lite/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java
new file mode 100644
index 000000000000..a3d8326e1437
--- /dev/null
+++ b/java/kotlin-lite/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java
@@ -0,0 +1,4 @@
+package com.google.protobuf.kotlin;
+
+/** Invisible class for JPMS build. */
+final class ProtobufKotlin {}
diff --git a/java/kotlin-lite/src/main/java/module-info.java b/java/kotlin-lite/src/main/java/module-info.java
new file mode 100644
index 000000000000..d22ef387cec8
--- /dev/null
+++ b/java/kotlin-lite/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd
+
+open module com.google.protobuf.kotlin {
+ requires com.google.protobuf;
+ exports com.google.protobuf.kotlin;
+}
diff --git a/java/kotlin/BUILD.bazel b/java/kotlin/BUILD.bazel
index 1b27a77dcdb8..30d2c981a0c7 100644
--- a/java/kotlin/BUILD.bazel
+++ b/java/kotlin/BUILD.bazel
@@ -1,8 +1,9 @@
-load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
+load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
load("@rules_java//java:defs.bzl", "java_proto_library")
-load("@rules_jvm_external//:kt_defs.bzl", "kt_jvm_export")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_library")
+load("//build_defs:kt_opts.bzl", "kt_jvm_export")
+load("//build_defs:java_opts.bzl", "protobuf_java_module")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
load("//:protobuf.bzl", "internal_gen_kt_protos")
@@ -10,6 +11,12 @@ exports_files([
"src/test/kotlin/com/google/protobuf/Proto3Test.kt",
])
+protobuf_java_module(
+ name = "javamodule",
+ module = "src/main/java/module-info.java",
+ module_deps = ["//java/core:javamodule"],
+)
+
# Kotlin generated protos depend on this and only this.
kt_jvm_library(
name = "shared_runtime",
@@ -59,6 +66,7 @@ kt_jvm_export(
maven_coordinates = "com.google.protobuf:protobuf-kotlin:%s" % PROTOBUF_JAVA_VERSION,
pom_template = "//java/kotlin:pom_template.xml",
resources = [
+ ":javamodule",
"//:well_known_type_protos",
"//src/google/protobuf:descriptor_proto_srcs",
],
diff --git a/java/kotlin/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java b/java/kotlin/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java
new file mode 100644
index 000000000000..a3d8326e1437
--- /dev/null
+++ b/java/kotlin/src/main/java/com/google/protobuf/kotlin/ProtobufKotlinStub.java
@@ -0,0 +1,4 @@
+package com.google.protobuf.kotlin;
+
+/** Invisible class for JPMS build. */
+final class ProtobufKotlin {}
diff --git a/java/kotlin/src/main/java/module-info.java b/java/kotlin/src/main/java/module-info.java
new file mode 100644
index 000000000000..d22ef387cec8
--- /dev/null
+++ b/java/kotlin/src/main/java/module-info.java
@@ -0,0 +1,11 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd
+
+open module com.google.protobuf.kotlin {
+ requires com.google.protobuf;
+ exports com.google.protobuf.kotlin;
+}
diff --git a/java/lite/pom.xml b/java/lite/pom.xml
index 85e6a88a6f3a..f8cf53767b75 100644
--- a/java/lite/pom.xml
+++ b/java/lite/pom.xml
@@ -214,6 +214,7 @@
GeneratedMessageTest.java
LazyFieldTest.java
LazyStringEndToEndTest.java
+ LazilyParsedMessageSetTest.java
MapForProto2Test.java
MapTest.java
MessageTest.java
@@ -334,7 +335,7 @@
true
- com.google.protobuf
+ true
https://developers.google.com/protocol-buffers/
com.google.protobuf
com.google.protobuf;version=${project.version}
diff --git a/java/lite/pom_template.xml b/java/lite/pom_template.xml
index 728c291a4be4..d23e004c20f9 100644
--- a/java/lite/pom_template.xml
+++ b/java/lite/pom_template.xml
@@ -28,7 +28,7 @@
true
- com.google.protobuf
+ true
https://developers.google.com/protocol-buffers/
com.google.protobuf
com.google.protobuf;version=${project.version}
diff --git a/java/mvnw b/java/mvnw
new file mode 100755
index 000000000000..8d937f4c14f1
--- /dev/null
+++ b/java/mvnw
@@ -0,0 +1,308 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Apache Maven Wrapper startup batch script, version 3.2.0
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /usr/local/etc/mavenrc ] ; then
+ . /usr/local/etc/mavenrc
+ fi
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "$(uname)" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME
+ else
+ JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=$(java-config --jre-home)
+ fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] &&
+ JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="$(which javac)"
+ if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=$(which readlink)
+ if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then
+ if $darwin ; then
+ javaHome="$(dirname "\"$javaExecutable\"")"
+ javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac"
+ else
+ javaExecutable="$(readlink -f "\"$javaExecutable\"")"
+ fi
+ javaHome="$(dirname "\"$javaExecutable\"")"
+ javaHome=$(expr "$javaHome" : '\(.*\)/bin')
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+ if [ -z "$1" ]
+ then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=$(cd "$wdir/.." || exit 1; pwd)
+ fi
+ # end of workaround
+ done
+ printf '%s' "$(cd "$basedir" || exit 1; pwd)"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ # Remove \r in case we run on Windows within Git Bash
+ # and check out the repository with auto CRLF management
+ # enabled. Otherwise, we may read lines that are delimited with
+ # \r\n and produce $'-Xarg\r' rather than -Xarg due to word
+ # splitting rules.
+ tr -s '\r\n' ' ' < "$1"
+ fi
+}
+
+log() {
+ if [ "$MVNW_VERBOSE" = true ]; then
+ printf '%s\n' "$1"
+ fi
+}
+
+BASE_DIR=$(find_maven_basedir "$(dirname "$0")")
+if [ -z "$BASE_DIR" ]; then
+ exit 1;
+fi
+
+MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
+log "$MAVEN_PROJECTBASEDIR"
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
+if [ -r "$wrapperJarPath" ]; then
+ log "Found $wrapperJarPath"
+else
+ log "Couldn't find $wrapperJarPath, downloading it ..."
+
+ if [ -n "$MVNW_REPOURL" ]; then
+ wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ else
+ wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ fi
+ while IFS="=" read -r key value; do
+ # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
+ safeValue=$(echo "$value" | tr -d '\r')
+ case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
+ esac
+ done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
+ log "Downloading from: $wrapperUrl"
+
+ if $cygwin; then
+ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+ fi
+
+ if command -v wget > /dev/null; then
+ log "Found wget ... using wget"
+ [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ else
+ wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ fi
+ elif command -v curl > /dev/null; then
+ log "Found curl ... using curl"
+ [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
+ else
+ curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
+ fi
+ else
+ log "Falling back to using Java to download"
+ javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaSource=$(cygpath --path --windows "$javaSource")
+ javaClass=$(cygpath --path --windows "$javaClass")
+ fi
+ if [ -e "$javaSource" ]; then
+ if [ ! -e "$javaClass" ]; then
+ log " - Compiling MavenWrapperDownloader.java ..."
+ ("$JAVA_HOME/bin/javac" "$javaSource")
+ fi
+ if [ -e "$javaClass" ]; then
+ log " - Running MavenWrapperDownloader.java ..."
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+# If specified, validate the SHA-256 sum of the Maven wrapper jar file
+wrapperSha256Sum=""
+while IFS="=" read -r key value; do
+ case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
+ esac
+done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
+if [ -n "$wrapperSha256Sum" ]; then
+ wrapperSha256Result=false
+ if command -v sha256sum > /dev/null; then
+ if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then
+ wrapperSha256Result=true
+ fi
+ elif command -v shasum > /dev/null; then
+ if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then
+ wrapperSha256Result=true
+ fi
+ else
+ echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available."
+ echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties."
+ exit 1
+ fi
+ if [ $wrapperSha256Result = false ]; then
+ echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2
+ echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2
+ echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2
+ exit 1
+ fi
+fi
+
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+# shellcheck disable=SC2086 # safe args
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ $MAVEN_DEBUG_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/java/mvnw.cmd b/java/mvnw.cmd
new file mode 100644
index 000000000000..f80fbad3e766
--- /dev/null
+++ b/java/mvnw.cmd
@@ -0,0 +1,205 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Apache Maven Wrapper startup batch script, version 3.2.0
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
+if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %WRAPPER_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
+SET WRAPPER_SHA_256_SUM=""
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
+)
+IF NOT %WRAPPER_SHA_256_SUM%=="" (
+ powershell -Command "&{"^
+ "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^
+ "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^
+ " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^
+ " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^
+ " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^
+ " exit 1;"^
+ "}"^
+ "}"
+ if ERRORLEVEL 1 goto error
+)
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% ^
+ %JVM_CONFIG_MAVEN_PROPS% ^
+ %MAVEN_OPTS% ^
+ %MAVEN_DEBUG_OPTS% ^
+ -classpath %WRAPPER_JAR% ^
+ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
+ %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
+if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%"=="on" pause
+
+if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
+
+cmd /C exit /B %ERROR_CODE%
diff --git a/java/osgi/OsgiWrapper.java b/java/osgi/OsgiWrapper.java
index c0690eb944ad..06a67bec3a01 100644
--- a/java/osgi/OsgiWrapper.java
+++ b/java/osgi/OsgiWrapper.java
@@ -11,6 +11,7 @@
import aQute.bnd.osgi.Jar;
import java.io.File;
import java.util.Arrays;
+import java.util.List;
import java.util.concurrent.Callable;
import java.util.jar.Manifest;
import java.util.stream.Collectors;
@@ -21,6 +22,10 @@
/** Java binary that runs bndlib to analyze a jar file to generate OSGi bundle manifest. */
@Command(name = "osgi_wrapper")
public final class OsgiWrapper implements Callable {
+ private static final String MULTI_RELEASE_MANIFEST_PROPERTY = "Multi-Release";
+ private static final String FIXUP_MESSAGES_PROPERTY = "-fixupmessages";
+ private static final String FIXUP_MESSAGES_IGNORE_MRJAR = "^Classes found in the wrong directory: .*";
+
private static final String REMOVEHEADERS =
Arrays.stream(
new String[] {
@@ -56,9 +61,9 @@ public final class OsgiWrapper implements Callable {
private String classpath;
@Option(
- names = {"--automatic_module_name"},
- description = "The automatic module name of the bundle")
- private String automaticModuleName;
+ names = {"--module_name"},
+ description = "The JPMS module name of the bundle")
+ private String moduleName;
@Option(
names = {"--bundle_copyright"},
@@ -111,7 +116,6 @@ public Integer call() throws Exception {
Analyzer analyzer = new Analyzer();
analyzer.setJar(bin);
- analyzer.setProperty(Analyzer.AUTOMATIC_MODULE_NAME, automaticModuleName);
analyzer.setProperty(Analyzer.BUNDLE_NAME, bundleName);
analyzer.setProperty(Analyzer.BUNDLE_SYMBOLICNAME, bundleSymbolicName);
analyzer.setProperty(Analyzer.BUNDLE_VERSION, bundleVersion);
@@ -122,6 +126,8 @@ public Integer call() throws Exception {
analyzer.setProperty(Analyzer.BUNDLE_DOCURL, bundleDocUrl);
analyzer.setProperty(Analyzer.BUNDLE_LICENSE, bundleLicense);
analyzer.setProperty(Analyzer.REMOVEHEADERS, REMOVEHEADERS);
+ analyzer.setProperty(MULTI_RELEASE_MANIFEST_PROPERTY, "true");
+ analyzer.setProperty(FIXUP_MESSAGES_PROPERTY, FIXUP_MESSAGES_IGNORE_MRJAR);
if (classpath != null) {
for (String dep : Arrays.asList(classpath.split(":"))) {
@@ -138,6 +144,9 @@ public Integer call() throws Exception {
if (analyzer.save(outputJar, true)) {
return 0;
}
+ } else {
+ List err = analyzer.getErrors();
+ System.out.println("BND analyzer failed: " + err.toString());
}
return 1;
}
diff --git a/java/osgi/osgi.bzl b/java/osgi/osgi.bzl
index 68600b5d7b79..a0435190d81f 100644
--- a/java/osgi/osgi.bzl
+++ b/java/osgi/osgi.bzl
@@ -23,7 +23,7 @@ load("@rules_java//java:defs.bzl", "java_library")
# which is probably sub-optimal.
def osgi_java_library(
name,
- automatic_module_name,
+ module_name,
bundle_description,
bundle_doc_url,
bundle_license,
@@ -48,6 +48,7 @@ def osgi_java_library(
Args:
name: (required) A unique name for this target.
+ module_name: (required) JPMS module name for this target.
bundle_description: (required) The Bundle-Description header defines a short
description of this bundle.
bundle_doc_url: (required) The Bundle-DocURL headers must contain a URL pointing
@@ -120,7 +121,7 @@ def osgi_java_library(
# Repackage the jar with an OSGI manifest
_osgi_jar(
name = name,
- automatic_module_name = automatic_module_name,
+ module_name = module_name,
bundle_description = bundle_description,
bundle_doc_url = bundle_doc_url,
bundle_license = bundle_license,
@@ -143,7 +144,7 @@ def _run_osgi_wrapper(ctx, input_jar, classpath_jars, output_jar):
args.add_joined("--classpath", classpath_jars, join_with = ":")
args.add("--input_jar", input_jar.path)
args.add("--output_jar", output_jar.path)
- args.add("--automatic_module_name", ctx.attr.automatic_module_name)
+ args.add("--module_name", ctx.attr.module_name)
args.add("--bundle_copyright", ctx.attr.bundle_copyright)
args.add("--bundle_description", ctx.attr.bundle_description)
args.add("--bundle_doc_url", ctx.attr.bundle_doc_url)
@@ -218,7 +219,7 @@ _osgi_jar = rule(
"output_jar": "lib%{name}.jar",
},
attrs = {
- "automatic_module_name": attr.string(),
+ "module_name": attr.string(),
"bundle_copyright": attr.string(),
"bundle_description": attr.string(),
"bundle_doc_url": attr.string(),
diff --git a/java/pom.xml b/java/pom.xml
index 2c017a3f0838..41ae165b3cfa 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -27,6 +27,7 @@
+ ${project.version}
UTF-8
UTF-8
@@ -69,7 +70,7 @@
com.google.protobuf
protobuf-bom
- ${project.version}
+ ${bom.version}
pom
import
@@ -110,7 +111,7 @@
maven-compiler-plugin
- 3.6.1
+ 3.12.1
1.8
@@ -118,7 +119,7 @@
maven-source-plugin
- 2.4
+ 3.3.0
attach-sources
@@ -130,7 +131,7 @@
maven-javadoc-plugin
- 2.10.3
+ 3.6.3
attach-javadocs
@@ -145,35 +146,67 @@
maven-jar-plugin
- 2.6
+ 3.3.0
org.codehaus.mojo
build-helper-maven-plugin
- 1.10
+ 3.5.0
org.apache.felix
maven-bundle-plugin
- 3.0.1
+ 5.1.9
maven-antrun-plugin
- 3.0.0
+ 3.1.0
maven-surefire-plugin
- 3.0.0-M5
+ 3.2.5
org.codehaus.mojo
animal-sniffer-maven-plugin
- 1.20
+ 1.23
+
+
+ org.ow2.asm
+ asm
+ 9.6
+
+
-
+
+
+ maven-compiler-plugin
+
+
+ default-compile
+
+
+ 1.8
+
+ module-info.java
+
+
+
+
+
+
org.codehaus.mojo
animal-sniffer-maven-plugin
diff --git a/java/util/BUILD.bazel b/java/util/BUILD.bazel
index 20e057ad81b1..770a9f6b06d5 100644
--- a/java/util/BUILD.bazel
+++ b/java/util/BUILD.bazel
@@ -1,15 +1,24 @@
load("@rules_java//java:defs.bzl", "java_proto_library")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_library")
-load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_versioned_java_library")
+load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_module", "protobuf_versioned_java_library")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
load("//java/internal:testing.bzl", "junit_tests")
+protobuf_java_module(
+ name = "javamodule",
+ module = "src/main/java/module-info.java",
+ module_deps = ["//java/core:javamodule"],
+ deps = ["@maven//:com_google_guava_guava"],
+)
+
java_library(
name = "util",
srcs = glob([
"src/main/java/com/google/protobuf/util/*.java",
]),
+ resources = [":javamodule"],
+ resource_strip_prefix = "java/util/",
visibility = ["//visibility:public"],
deps = [
"//java/core",
@@ -26,10 +35,12 @@ protobuf_versioned_java_library(
srcs = glob([
"src/main/java/com/google/protobuf/util/*.java",
]),
- automatic_module_name = "com.google.protobuf.util",
+ module_name = "com.google.protobuf.util",
bundle_description = "Utilities for Protocol Buffers",
bundle_name = "Protocol Buffers [Util]",
bundle_symbolic_name = "com.google.protobuf.util",
+ resources = [":javamodule"],
+ resource_strip_prefix = "java/util/",
visibility = ["//visibility:public"],
deps = [
"//java/core",
diff --git a/java/util/pom.xml b/java/util/pom.xml
index 0ce71076635b..78b1324961ba 100644
--- a/java/util/pom.xml
+++ b/java/util/pom.xml
@@ -88,6 +88,7 @@
+
@@ -150,7 +151,7 @@
true
- com.google.protobuf.util
+ true
https://developers.google.com/protocol-buffers/
com.google.protobuf.util
com.google.protobuf.util;version=${project.version}
diff --git a/java/util/pom_template.xml b/java/util/pom_template.xml
index 82d84c872146..4d57ae5a08f5 100644
--- a/java/util/pom_template.xml
+++ b/java/util/pom_template.xml
@@ -30,7 +30,7 @@
true
- com.google.protobuf.util
+ true
https://developers.google.com/protocol-buffers/
com.google.protobuf.util
com.google.protobuf.util;version=${project.version}
diff --git a/java/util/src/main/java/module-info.java b/java/util/src/main/java/module-info.java
new file mode 100644
index 000000000000..89cc149554b5
--- /dev/null
+++ b/java/util/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+// Protocol Buffers - Google's data interchange format
+// Copyright 2008 Google Inc. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd
+
+open module com.google.protobuf.util {
+ requires com.google.common;
+ requires com.google.protobuf;
+ exports com.google.protobuf.util;
+}
diff --git a/maven_install.json b/maven_install.json
index 28efd80e2651..1c0fa0f9dd71 100644
--- a/maven_install.json
+++ b/maven_install.json
@@ -1,10 +1,10 @@
{
"dependency_tree": {
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
- "__INPUT_ARTIFACTS_HASH": -1740498846,
- "__RESOLVED_ARTIFACTS_HASH": -60988338,
+ "__INPUT_ARTIFACTS_HASH": 1299466099,
+ "__RESOLVED_ARTIFACTS_HASH": -2137296420,
"conflict_resolution": {
- "com.google.errorprone:error_prone_annotations:2.5.1": "com.google.errorprone:error_prone_annotations:2.18.0"
+ "com.google.guava:guava:33.0.0-jre-jpms": "com.google.guava:guava:33.0.0-jre"
},
"dependencies": [
{
@@ -14,7 +14,8 @@
"file": "v1/https/repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.util/6.4.0/biz.aQute.bnd.util-6.4.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.util/6.4.0/biz.aQute.bnd.util-6.4.0.jar",
- "https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd.util/6.4.0/biz.aQute.bnd.util-6.4.0.jar"
+ "https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd.util/6.4.0/biz.aQute.bnd.util-6.4.0.jar",
+ "https://jpms.pkg.st/repository/biz/aQute/bnd/biz.aQute.bnd.util/6.4.0/biz.aQute.bnd.util-6.4.0.jar"
],
"sha256": "65b5bd4a0fab16812f1800c98ff74a038f37a38bfe899af382efed4efdc1e3e1",
"url": "https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.util/6.4.0/biz.aQute.bnd.util-6.4.0.jar"
@@ -49,7 +50,8 @@
"file": "v1/https/repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/6.4.0/biz.aQute.bndlib-6.4.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/6.4.0/biz.aQute.bndlib-6.4.0.jar",
- "https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/6.4.0/biz.aQute.bndlib-6.4.0.jar"
+ "https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/6.4.0/biz.aQute.bndlib-6.4.0.jar",
+ "https://jpms.pkg.st/repository/biz/aQute/bnd/biz.aQute.bndlib/6.4.0/biz.aQute.bndlib-6.4.0.jar"
],
"sha256": "357145074872f9dbf67e629fcd237e6152707e575d735df4535282f9f588d2d8",
"url": "https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/6.4.0/biz.aQute.bndlib-6.4.0.jar"
@@ -61,7 +63,8 @@
"file": "v1/https/repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.8.1/auto-value-annotations-1.8.1.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.8.1/auto-value-annotations-1.8.1.jar",
- "https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.8.1/auto-value-annotations-1.8.1.jar"
+ "https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.8.1/auto-value-annotations-1.8.1.jar",
+ "https://jpms.pkg.st/repository/com/google/auto/value/auto-value-annotations/1.8.1/auto-value-annotations-1.8.1.jar"
],
"sha256": "37ec09b47d7ed35a99d13927db5c86fc9071f620f943ead5d757144698310852",
"url": "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.8.1/auto-value-annotations-1.8.1.jar"
@@ -69,17 +72,18 @@
{
"coord": "com.google.caliper:caliper-api:1.0-beta-3",
"dependencies": [
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"joda-time:joda-time:2.10.10"
],
"directDependencies": [
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"joda-time:joda-time:2.10.10"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/caliper/caliper-api/1.0-beta-3/caliper-api-1.0-beta-3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/caliper/caliper-api/1.0-beta-3/caliper-api-1.0-beta-3.jar",
- "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-api/1.0-beta-3/caliper-api-1.0-beta-3.jar"
+ "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-api/1.0-beta-3/caliper-api-1.0-beta-3.jar",
+ "https://jpms.pkg.st/repository/com/google/caliper/caliper-api/1.0-beta-3/caliper-api-1.0-beta-3.jar"
],
"sha256": "374f0c6c0c1f8784cb69d885e1dcbb7498c34ca20369e0597264568530642928",
"url": "https://repo1.maven.org/maven2/com/google/caliper/caliper-api/1.0-beta-3/caliper-api-1.0-beta-3.jar"
@@ -92,7 +96,7 @@
"com.google.caliper:caliper-util:1.0-beta-3",
"com.google.code.gson:gson:2.8.9",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.squareup.okhttp:okhttp:2.7.5",
"com.squareup.okio:okio:1.6.0",
"javax.inject:javax.inject:1",
@@ -103,14 +107,15 @@
"com.google.caliper:caliper-api:1.0-beta-3",
"com.google.caliper:caliper-util:1.0-beta-3",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.squareup.okhttp:okhttp:2.7.5",
"joda-time:joda-time:2.10.10"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/caliper/caliper-core/1.0-beta-3/caliper-core-1.0-beta-3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/caliper/caliper-core/1.0-beta-3/caliper-core-1.0-beta-3.jar",
- "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-core/1.0-beta-3/caliper-core-1.0-beta-3.jar"
+ "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-core/1.0-beta-3/caliper-core-1.0-beta-3.jar",
+ "https://jpms.pkg.st/repository/com/google/caliper/caliper-core/1.0-beta-3/caliper-core-1.0-beta-3.jar"
],
"sha256": "514deac8f8b09dd4262733e0a4406a333208c899dc7ea726b03600b9bb94f192",
"url": "https://repo1.maven.org/maven2/com/google/caliper/caliper-core/1.0-beta-3/caliper-core-1.0-beta-3.jar"
@@ -125,7 +130,7 @@
"com.google.code.gson:gson:2.8.9",
"com.google.dagger:dagger-producers:2.22.1",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.squareup.okhttp:okhttp:2.7.5",
"com.squareup.okio:okio:1.6.0",
"javax.inject:javax.inject:1",
@@ -138,14 +143,15 @@
"com.google.caliper:caliper-util:1.0-beta-3",
"com.google.dagger:dagger-producers:2.22.1",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.squareup.okhttp:okhttp:2.7.5",
"joda-time:joda-time:2.10.10"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/caliper/caliper-runner/1.0-beta-3/caliper-runner-1.0-beta-3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/caliper/caliper-runner/1.0-beta-3/caliper-runner-1.0-beta-3.jar",
- "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-runner/1.0-beta-3/caliper-runner-1.0-beta-3.jar"
+ "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-runner/1.0-beta-3/caliper-runner-1.0-beta-3.jar",
+ "https://jpms.pkg.st/repository/com/google/caliper/caliper-runner/1.0-beta-3/caliper-runner-1.0-beta-3.jar"
],
"sha256": "3ab58890aa01343361adedf859500d280f67813df0cedfcd165b169533b9b1fa",
"url": "https://repo1.maven.org/maven2/com/google/caliper/caliper-runner/1.0-beta-3/caliper-runner-1.0-beta-3.jar"
@@ -155,20 +161,21 @@
"dependencies": [
"com.google.code.gson:gson:2.8.9",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"javax.inject:javax.inject:1",
"joda-time:joda-time:2.10.10"
],
"directDependencies": [
"com.google.code.gson:gson:2.8.9",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"joda-time:joda-time:2.10.10"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/caliper/caliper-util/1.0-beta-3/caliper-util-1.0-beta-3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/caliper/caliper-util/1.0-beta-3/caliper-util-1.0-beta-3.jar",
- "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-util/1.0-beta-3/caliper-util-1.0-beta-3.jar"
+ "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-util/1.0-beta-3/caliper-util-1.0-beta-3.jar",
+ "https://jpms.pkg.st/repository/com/google/caliper/caliper-util/1.0-beta-3/caliper-util-1.0-beta-3.jar"
],
"sha256": "6e9af500c7020450dfdb5003d09501d512d395f431c54c7ee8f79e712463fe66",
"url": "https://repo1.maven.org/maven2/com/google/caliper/caliper-util/1.0-beta-3/caliper-util-1.0-beta-3.jar"
@@ -184,7 +191,7 @@
"com.google.code.gson:gson:2.8.9",
"com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.0",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.squareup.okhttp:okhttp:2.7.5",
"com.squareup.okio:okio:1.6.0",
"com.sun.jersey:jersey-client:1.19.4",
@@ -204,13 +211,14 @@
"com.google.caliper:caliper-worker:1.0-beta-3",
"com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.0",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.sun.jersey:jersey-client:1.19.4"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/caliper/caliper-worker-jvm/1.0-beta-3/caliper-worker-jvm-1.0-beta-3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/caliper/caliper-worker-jvm/1.0-beta-3/caliper-worker-jvm-1.0-beta-3.jar",
- "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-worker-jvm/1.0-beta-3/caliper-worker-jvm-1.0-beta-3.jar"
+ "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-worker-jvm/1.0-beta-3/caliper-worker-jvm-1.0-beta-3.jar",
+ "https://jpms.pkg.st/repository/com/google/caliper/caliper-worker-jvm/1.0-beta-3/caliper-worker-jvm-1.0-beta-3.jar"
],
"sha256": "e14e1ecfdf939c82abdb902105be41ff3f83c18cb968116232015f2662d065a4",
"url": "https://repo1.maven.org/maven2/com/google/caliper/caliper-worker-jvm/1.0-beta-3/caliper-worker-jvm-1.0-beta-3.jar"
@@ -224,7 +232,7 @@
"com.google.caliper:caliper-util:1.0-beta-3",
"com.google.code.gson:gson:2.8.9",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.squareup.okhttp:okhttp:2.7.5",
"com.squareup.okio:okio:1.6.0",
"javax.inject:javax.inject:1",
@@ -235,14 +243,15 @@
"com.google.caliper:caliper-core:1.0-beta-3",
"com.google.caliper:caliper-util:1.0-beta-3",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.squareup.okhttp:okhttp:2.7.5",
"joda-time:joda-time:2.10.10"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/caliper/caliper-worker/1.0-beta-3/caliper-worker-1.0-beta-3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/caliper/caliper-worker/1.0-beta-3/caliper-worker-1.0-beta-3.jar",
- "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-worker/1.0-beta-3/caliper-worker-1.0-beta-3.jar"
+ "https://repo.maven.apache.org/maven2/com/google/caliper/caliper-worker/1.0-beta-3/caliper-worker-1.0-beta-3.jar",
+ "https://jpms.pkg.st/repository/com/google/caliper/caliper-worker/1.0-beta-3/caliper-worker-1.0-beta-3.jar"
],
"sha256": "315d8e51df1f60551645a0e3bf2c504d2c79762f688e6f728eb9d1d9cd9a491b",
"url": "https://repo1.maven.org/maven2/com/google/caliper/caliper-worker/1.0-beta-3/caliper-worker-1.0-beta-3.jar"
@@ -261,7 +270,7 @@
"com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.0",
"com.google.dagger:dagger-producers:2.22.1",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.squareup.okhttp:okhttp:2.7.5",
"com.squareup.okio:okio:1.6.0",
"com.sun.jersey:jersey-client:1.19.4",
@@ -283,13 +292,14 @@
"com.google.caliper:caliper-worker-jvm:1.0-beta-3",
"com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.0",
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"com.sun.jersey:jersey-client:1.19.4"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/caliper/caliper/1.0-beta-3/caliper-1.0-beta-3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/caliper/caliper/1.0-beta-3/caliper-1.0-beta-3.jar",
- "https://repo.maven.apache.org/maven2/com/google/caliper/caliper/1.0-beta-3/caliper-1.0-beta-3.jar"
+ "https://repo.maven.apache.org/maven2/com/google/caliper/caliper/1.0-beta-3/caliper-1.0-beta-3.jar",
+ "https://jpms.pkg.st/repository/com/google/caliper/caliper/1.0-beta-3/caliper-1.0-beta-3.jar"
],
"sha256": "d54e1bfdbe9359a79e175c217b8d472555cf20da9c5c0a18bdb1ea7db979ed8e",
"url": "https://repo1.maven.org/maven2/com/google/caliper/caliper/1.0-beta-3/caliper-1.0-beta-3.jar"
@@ -301,7 +311,8 @@
"file": "v1/https/repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
- "https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+ "https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+ "https://jpms.pkg.st/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
],
"sha256": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
"url": "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
@@ -313,7 +324,8 @@
"file": "v1/https/repo1.maven.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar",
- "https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar"
+ "https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar",
+ "https://jpms.pkg.st/repository/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar"
],
"sha256": "d3999291855de495c94c743761b8ab5176cfeabe281a5ab0d8e8d45326fd703e",
"url": "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar"
@@ -321,7 +333,7 @@
{
"coord": "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.0",
"dependencies": [
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"javax.annotation:javax.annotation-api:1.3.2",
"org.ow2.asm:asm-analysis:7.2",
"org.ow2.asm:asm-commons:7.2",
@@ -330,7 +342,7 @@
"org.ow2.asm:asm:9.0"
],
"directDependencies": [
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"javax.annotation:javax.annotation-api:1.3.2",
"org.ow2.asm:asm-analysis:7.2",
"org.ow2.asm:asm-commons:7.2",
@@ -341,7 +353,8 @@
"file": "v1/https/repo1.maven.org/maven2/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.3.0/java-allocation-instrumenter-3.3.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.3.0/java-allocation-instrumenter-3.3.0.jar",
- "https://repo.maven.apache.org/maven2/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.3.0/java-allocation-instrumenter-3.3.0.jar"
+ "https://repo.maven.apache.org/maven2/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.3.0/java-allocation-instrumenter-3.3.0.jar",
+ "https://jpms.pkg.st/repository/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.3.0/java-allocation-instrumenter-3.3.0.jar"
],
"sha256": "1ef5535a8bd41cf3072469f381b9ee6ab28275311a7499f53d6e52adf976fef0",
"url": "https://repo1.maven.org/maven2/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.3.0/java-allocation-instrumenter-3.3.0.jar"
@@ -350,20 +363,21 @@
"coord": "com.google.dagger:dagger-producers:2.22.1",
"dependencies": [
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"javax.inject:javax.inject:1",
"org.checkerframework:checker-compat-qual:2.5.3"
],
"directDependencies": [
"com.google.dagger:dagger:2.22.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.guava:guava:33.0.0-jre",
"javax.inject:javax.inject:1",
"org.checkerframework:checker-compat-qual:2.5.3"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/dagger/dagger-producers/2.22.1/dagger-producers-2.22.1.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/dagger/dagger-producers/2.22.1/dagger-producers-2.22.1.jar",
- "https://repo.maven.apache.org/maven2/com/google/dagger/dagger-producers/2.22.1/dagger-producers-2.22.1.jar"
+ "https://repo.maven.apache.org/maven2/com/google/dagger/dagger-producers/2.22.1/dagger-producers-2.22.1.jar",
+ "https://jpms.pkg.st/repository/com/google/dagger/dagger-producers/2.22.1/dagger-producers-2.22.1.jar"
],
"sha256": "f834a0082014213a68ff06a0f048d750178d02196c58b0b15beb367d32b97e35",
"url": "https://repo1.maven.org/maven2/com/google/dagger/dagger-producers/2.22.1/dagger-producers-2.22.1.jar"
@@ -379,89 +393,94 @@
"file": "v1/https/repo1.maven.org/maven2/com/google/dagger/dagger/2.22.1/dagger-2.22.1.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/dagger/dagger/2.22.1/dagger-2.22.1.jar",
- "https://repo.maven.apache.org/maven2/com/google/dagger/dagger/2.22.1/dagger-2.22.1.jar"
+ "https://repo.maven.apache.org/maven2/com/google/dagger/dagger/2.22.1/dagger-2.22.1.jar",
+ "https://jpms.pkg.st/repository/com/google/dagger/dagger/2.22.1/dagger-2.22.1.jar"
],
"sha256": "329d4340f24c4f5717af016c097e90668bfea2a5376e6aa9964b01cef3fd241a",
"url": "https://repo1.maven.org/maven2/com/google/dagger/dagger/2.22.1/dagger-2.22.1.jar"
},
{
- "coord": "com.google.errorprone:error_prone_annotations:2.18.0",
+ "coord": "com.google.errorprone:error_prone_annotations:2.26.1",
"dependencies": [],
"directDependencies": [],
- "file": "v1/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1.jar",
"mirror_urls": [
- "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar",
- "https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar"
+ "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1.jar",
+ "https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1.jar",
+ "https://jpms.pkg.st/repository/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1.jar"
],
- "sha256": "9e6814cb71816988a4fd1b07a993a8f21bb7058d522c162b1de849e19bea54ae",
- "url": "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.18.0/error_prone_annotations-2.18.0.jar"
+ "sha256": "de25f2d9a2156529bd765f51d8efdfc0dfa7301e04efb9cc75b7f10cf5d0e0fb",
+ "url": "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.26.1/error_prone_annotations-2.26.1.jar"
},
{
- "coord": "com.google.guava:failureaccess:1.0.1",
+ "coord": "com.google.guava:failureaccess:1.0.2",
"dependencies": [],
"directDependencies": [],
- "file": "v1/https/repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar",
"mirror_urls": [
- "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
- "https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"
+ "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar",
+ "https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar",
+ "https://jpms.pkg.st/repository/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar"
],
- "sha256": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
- "url": "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"
+ "sha256": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064",
+ "url": "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar"
},
{
- "coord": "com.google.guava:guava-testlib:32.0.1-jre",
+ "coord": "com.google.guava:guava-testlib:33.0.0-jre",
"dependencies": [
"com.google.code.findbugs:jsr305:3.0.2",
- "com.google.errorprone:error_prone_annotations:2.18.0",
- "com.google.guava:failureaccess:1.0.1",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.errorprone:error_prone_annotations:2.26.1",
+ "com.google.guava:failureaccess:1.0.2",
+ "com.google.guava:guava:33.0.0-jre",
"com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
- "com.google.j2objc:j2objc-annotations:2.8",
+ "com.google.j2objc:j2objc-annotations:3.0.0",
"junit:junit:4.13.2",
- "org.checkerframework:checker-qual:3.33.0",
+ "org.checkerframework:checker-qual:3.41.0",
"org.hamcrest:hamcrest-core:1.3"
],
"directDependencies": [
"com.google.code.findbugs:jsr305:3.0.2",
- "com.google.errorprone:error_prone_annotations:2.18.0",
- "com.google.guava:guava:32.0.1-jre",
- "com.google.j2objc:j2objc-annotations:2.8",
+ "com.google.errorprone:error_prone_annotations:2.26.1",
+ "com.google.guava:guava:33.0.0-jre",
+ "com.google.j2objc:j2objc-annotations:3.0.0",
"junit:junit:4.13.2",
- "org.checkerframework:checker-qual:3.33.0"
+ "org.checkerframework:checker-qual:3.41.0"
],
- "file": "v1/https/repo1.maven.org/maven2/com/google/guava/guava-testlib/32.0.1-jre/guava-testlib-32.0.1-jre.jar",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/guava/guava-testlib/33.0.0-jre/guava-testlib-33.0.0-jre.jar",
"mirror_urls": [
- "https://repo1.maven.org/maven2/com/google/guava/guava-testlib/32.0.1-jre/guava-testlib-32.0.1-jre.jar",
- "https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/32.0.1-jre/guava-testlib-32.0.1-jre.jar"
+ "https://repo1.maven.org/maven2/com/google/guava/guava-testlib/33.0.0-jre/guava-testlib-33.0.0-jre.jar",
+ "https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/33.0.0-jre/guava-testlib-33.0.0-jre.jar",
+ "https://jpms.pkg.st/repository/com/google/guava/guava-testlib/33.0.0-jre/guava-testlib-33.0.0-jre.jar"
],
- "sha256": "c97511849a5e085280f106df2b059566febd280b118d33d6a9e068d238100b63",
- "url": "https://repo1.maven.org/maven2/com/google/guava/guava-testlib/32.0.1-jre/guava-testlib-32.0.1-jre.jar"
+ "sha256": "79626019fed282b70eef91f645a9febd5f6b9f7be46484b6b328313a481f05f0",
+ "url": "https://repo1.maven.org/maven2/com/google/guava/guava-testlib/33.0.0-jre/guava-testlib-33.0.0-jre.jar"
},
{
- "coord": "com.google.guava:guava:32.0.1-jre",
+ "coord": "com.google.guava:guava:33.0.0-jre",
"dependencies": [
"com.google.code.findbugs:jsr305:3.0.2",
- "com.google.errorprone:error_prone_annotations:2.18.0",
- "com.google.guava:failureaccess:1.0.1",
+ "com.google.errorprone:error_prone_annotations:2.26.1",
+ "com.google.guava:failureaccess:1.0.2",
"com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
- "com.google.j2objc:j2objc-annotations:2.8",
- "org.checkerframework:checker-qual:3.33.0"
+ "com.google.j2objc:j2objc-annotations:3.0.0",
+ "org.checkerframework:checker-qual:3.41.0"
],
"directDependencies": [
"com.google.code.findbugs:jsr305:3.0.2",
- "com.google.errorprone:error_prone_annotations:2.18.0",
- "com.google.guava:failureaccess:1.0.1",
+ "com.google.errorprone:error_prone_annotations:2.26.1",
+ "com.google.guava:failureaccess:1.0.2",
"com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
- "com.google.j2objc:j2objc-annotations:2.8",
- "org.checkerframework:checker-qual:3.33.0"
+ "com.google.j2objc:j2objc-annotations:3.0.0",
+ "org.checkerframework:checker-qual:3.41.0"
],
- "file": "v1/https/repo1.maven.org/maven2/com/google/guava/guava/32.0.1-jre/guava-32.0.1-jre.jar",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/guava/guava/33.0.0-jre/guava-33.0.0-jre.jar",
"mirror_urls": [
- "https://repo1.maven.org/maven2/com/google/guava/guava/32.0.1-jre/guava-32.0.1-jre.jar",
- "https://repo.maven.apache.org/maven2/com/google/guava/guava/32.0.1-jre/guava-32.0.1-jre.jar"
+ "https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0-jre/guava-33.0.0-jre.jar",
+ "https://repo.maven.apache.org/maven2/com/google/guava/guava/33.0.0-jre/guava-33.0.0-jre.jar",
+ "https://jpms.pkg.st/repository/com/google/guava/guava/33.0.0-jre/guava-33.0.0-jre.jar"
],
- "sha256": "bd7fa227591fb8509677d0d1122cf95158f3b8a9f45653f58281d879f6dc48c5",
- "url": "https://repo1.maven.org/maven2/com/google/guava/guava/32.0.1-jre/guava-32.0.1-jre.jar"
+ "sha256": "f4d85c3e4d411694337cb873abea09b242b664bb013320be6105327c45991537",
+ "url": "https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0-jre/guava-33.0.0-jre.jar"
},
{
"coord": "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
@@ -470,45 +489,48 @@
"file": "v1/https/repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
- "https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"
+ "https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
+ "https://jpms.pkg.st/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"
],
"sha256": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99",
"url": "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"
},
{
- "coord": "com.google.j2objc:j2objc-annotations:2.8",
+ "coord": "com.google.j2objc:j2objc-annotations:3.0.0",
"dependencies": [],
"directDependencies": [],
- "file": "v1/https/repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar",
"mirror_urls": [
- "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar",
- "https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar"
+ "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar",
+ "https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar",
+ "https://jpms.pkg.st/repository/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar"
],
- "sha256": "f02a95fa1a5e95edb3ed859fd0fb7df709d121a35290eff8b74dce2ab7f4d6ed",
- "url": "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/2.8/j2objc-annotations-2.8.jar"
+ "sha256": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64",
+ "url": "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar"
},
{
"coord": "com.google.truth:truth:1.1.2",
"dependencies": [
"com.google.auto.value:auto-value-annotations:1.8.1",
- "com.google.errorprone:error_prone_annotations:2.18.0",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.errorprone:error_prone_annotations:2.26.1",
+ "com.google.guava:guava:33.0.0-jre",
"junit:junit:4.13.2",
- "org.checkerframework:checker-qual:3.33.0",
+ "org.checkerframework:checker-qual:3.41.0",
"org.ow2.asm:asm:9.0"
],
"directDependencies": [
"com.google.auto.value:auto-value-annotations:1.8.1",
- "com.google.errorprone:error_prone_annotations:2.18.0",
- "com.google.guava:guava:32.0.1-jre",
+ "com.google.errorprone:error_prone_annotations:2.26.1",
+ "com.google.guava:guava:33.0.0-jre",
"junit:junit:4.13.2",
- "org.checkerframework:checker-qual:3.33.0",
+ "org.checkerframework:checker-qual:3.41.0",
"org.ow2.asm:asm:9.0"
],
"file": "v1/https/repo1.maven.org/maven2/com/google/truth/truth/1.1.2/truth-1.1.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/google/truth/truth/1.1.2/truth-1.1.2.jar",
- "https://repo.maven.apache.org/maven2/com/google/truth/truth/1.1.2/truth-1.1.2.jar"
+ "https://repo.maven.apache.org/maven2/com/google/truth/truth/1.1.2/truth-1.1.2.jar",
+ "https://jpms.pkg.st/repository/com/google/truth/truth/1.1.2/truth-1.1.2.jar"
],
"sha256": "a85e03b8b6ae8780f060cfded9500a3d1b5f52808f99a2ea6da9c683313c7518",
"url": "https://repo1.maven.org/maven2/com/google/truth/truth/1.1.2/truth-1.1.2.jar"
@@ -524,7 +546,8 @@
"file": "v1/https/repo1.maven.org/maven2/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar",
- "https://repo.maven.apache.org/maven2/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar"
+ "https://repo.maven.apache.org/maven2/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar",
+ "https://jpms.pkg.st/repository/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar"
],
"sha256": "88ac9fd1bb51f82bcc664cc1eb9c225c90dc4389d660231b4cc737bebfe7d0aa",
"url": "https://repo1.maven.org/maven2/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar"
@@ -536,7 +559,8 @@
"file": "v1/https/repo1.maven.org/maven2/com/squareup/okio/okio/1.6.0/okio-1.6.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/squareup/okio/okio/1.6.0/okio-1.6.0.jar",
- "https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.6.0/okio-1.6.0.jar"
+ "https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.6.0/okio-1.6.0.jar",
+ "https://jpms.pkg.st/repository/com/squareup/okio/okio/1.6.0/okio-1.6.0.jar"
],
"sha256": "114bdc1f47338a68bcbc95abf2f5cdc72beeec91812f2fcd7b521c1937876266",
"url": "https://repo1.maven.org/maven2/com/squareup/okio/okio/1.6.0/okio-1.6.0.jar"
@@ -553,7 +577,8 @@
"file": "v1/https/repo1.maven.org/maven2/com/sun/jersey/jersey-client/1.19.4/jersey-client-1.19.4.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/sun/jersey/jersey-client/1.19.4/jersey-client-1.19.4.jar",
- "https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-client/1.19.4/jersey-client-1.19.4.jar"
+ "https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-client/1.19.4/jersey-client-1.19.4.jar",
+ "https://jpms.pkg.st/repository/com/sun/jersey/jersey-client/1.19.4/jersey-client-1.19.4.jar"
],
"sha256": "639c825c5db580f8115bf49ffc893093526d2ed1079fbc929b6a5fbd0b2eda40",
"url": "https://repo1.maven.org/maven2/com/sun/jersey/jersey-client/1.19.4/jersey-client-1.19.4.jar"
@@ -569,7 +594,8 @@
"file": "v1/https/repo1.maven.org/maven2/com/sun/jersey/jersey-core/1.19.4/jersey-core-1.19.4.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/com/sun/jersey/jersey-core/1.19.4/jersey-core-1.19.4.jar",
- "https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-core/1.19.4/jersey-core-1.19.4.jar"
+ "https://repo.maven.apache.org/maven2/com/sun/jersey/jersey-core/1.19.4/jersey-core-1.19.4.jar",
+ "https://jpms.pkg.st/repository/com/sun/jersey/jersey-core/1.19.4/jersey-core-1.19.4.jar"
],
"sha256": "64b03198e0264849d0fc341857ebcc9c882b1909a2dc35a0972fe7d901b826e5",
"url": "https://repo1.maven.org/maven2/com/sun/jersey/jersey-core/1.19.4/jersey-core-1.19.4.jar"
@@ -581,7 +607,8 @@
"file": "v1/https/repo1.maven.org/maven2/info/picocli/picocli/4.6.3/picocli-4.6.3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/info/picocli/picocli/4.6.3/picocli-4.6.3.jar",
- "https://repo.maven.apache.org/maven2/info/picocli/picocli/4.6.3/picocli-4.6.3.jar"
+ "https://repo.maven.apache.org/maven2/info/picocli/picocli/4.6.3/picocli-4.6.3.jar",
+ "https://jpms.pkg.st/repository/info/picocli/picocli/4.6.3/picocli-4.6.3.jar"
],
"sha256": "b0a5159e926de8084ff066025142270443533656bc599b8bb31d14d11fd138a4",
"url": "https://repo1.maven.org/maven2/info/picocli/picocli/4.6.3/picocli-4.6.3.jar"
@@ -593,7 +620,8 @@
"file": "v1/https/repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar",
- "https://repo.maven.apache.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"
+ "https://repo.maven.apache.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar",
+ "https://jpms.pkg.st/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"
],
"sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b",
"url": "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"
@@ -605,7 +633,8 @@
"file": "v1/https/repo1.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar",
- "https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar"
+ "https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar",
+ "https://jpms.pkg.st/repository/javax/inject/javax.inject/1/javax.inject-1.jar"
],
"sha256": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
"url": "https://repo1.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar"
@@ -617,7 +646,8 @@
"file": "v1/https/repo1.maven.org/maven2/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar",
- "https://repo.maven.apache.org/maven2/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar"
+ "https://repo.maven.apache.org/maven2/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar",
+ "https://jpms.pkg.st/repository/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar"
],
"sha256": "ab1534b73b5fa055808e6598a5e73b599ccda28c3159c3c0908977809422ee4a",
"url": "https://repo1.maven.org/maven2/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar"
@@ -629,7 +659,8 @@
"file": "v1/https/repo1.maven.org/maven2/joda-time/joda-time/2.10.10/joda-time-2.10.10.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/joda-time/joda-time/2.10.10/joda-time-2.10.10.jar",
- "https://repo.maven.apache.org/maven2/joda-time/joda-time/2.10.10/joda-time-2.10.10.jar"
+ "https://repo.maven.apache.org/maven2/joda-time/joda-time/2.10.10/joda-time-2.10.10.jar",
+ "https://jpms.pkg.st/repository/joda-time/joda-time/2.10.10/joda-time-2.10.10.jar"
],
"sha256": "dd8e7c92185a678d1b7b933f31209b6203c8ffa91e9880475a1be0346b9617e3",
"url": "https://repo1.maven.org/maven2/joda-time/joda-time/2.10.10/joda-time-2.10.10.jar"
@@ -645,7 +676,8 @@
"file": "v1/https/repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar",
- "https://repo.maven.apache.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar"
+ "https://repo.maven.apache.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar",
+ "https://jpms.pkg.st/repository/junit/junit/4.13.2/junit-4.13.2.jar"
],
"sha256": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3",
"url": "https://repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar"
@@ -657,7 +689,8 @@
"file": "v1/https/repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar",
- "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar"
+ "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar",
+ "https://jpms.pkg.st/repository/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar"
],
"sha256": "73d84bb6e8e8980e674d796a29063f510ceb527c6f8c912a08a13e236be05c71",
"url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar"
@@ -669,7 +702,8 @@
"file": "v1/https/repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar",
- "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar"
+ "https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar",
+ "https://jpms.pkg.st/repository/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar"
],
"sha256": "d2e46555699e70361b5471a7e142f9c67855bba6907a285177ebd8ad973775d8",
"url": "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar"
@@ -681,22 +715,24 @@
"file": "v1/https/repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.3/checker-compat-qual-2.5.3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.3/checker-compat-qual-2.5.3.jar",
- "https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.5.3/checker-compat-qual-2.5.3.jar"
+ "https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.5.3/checker-compat-qual-2.5.3.jar",
+ "https://jpms.pkg.st/repository/org/checkerframework/checker-compat-qual/2.5.3/checker-compat-qual-2.5.3.jar"
],
"sha256": "d76b9afea61c7c082908023f0cbc1427fab9abd2df915c8b8a3e7a509bccbc6d",
"url": "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.3/checker-compat-qual-2.5.3.jar"
},
{
- "coord": "org.checkerframework:checker-qual:3.33.0",
+ "coord": "org.checkerframework:checker-qual:3.41.0",
"dependencies": [],
"directDependencies": [],
- "file": "v1/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar",
+ "file": "v1/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.41.0/checker-qual-3.41.0.jar",
"mirror_urls": [
- "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar",
- "https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar"
+ "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.41.0/checker-qual-3.41.0.jar",
+ "https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.41.0/checker-qual-3.41.0.jar",
+ "https://jpms.pkg.st/repository/org/checkerframework/checker-qual/3.41.0/checker-qual-3.41.0.jar"
],
- "sha256": "e316255bbfcd9fe50d165314b85abb2b33cb2a66a93c491db648e498a82c2de1",
- "url": "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.33.0/checker-qual-3.33.0.jar"
+ "sha256": "2f9f245bf68e4259d610894f2406dc1f6363dc639302bd566e8272e4f4541172",
+ "url": "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.41.0/checker-qual-3.41.0.jar"
},
{
"coord": "org.hamcrest:hamcrest-core:1.3",
@@ -705,7 +741,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
- "https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
+ "https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+ "https://jpms.pkg.st/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
],
"sha256": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
"url": "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
@@ -725,7 +762,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar",
- "https://repo.maven.apache.org/maven2/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar"
+ "https://repo.maven.apache.org/maven2/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar",
+ "https://jpms.pkg.st/repository/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar"
],
"sha256": "148de2c6928365db29443ca12d35c930d9f481172b934fdd801d1cb1409ea83a",
"url": "https://repo1.maven.org/maven2/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar"
@@ -737,7 +775,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/objenesis/objenesis/3.2/objenesis-3.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/objenesis/objenesis/3.2/objenesis-3.2.jar",
- "https://repo.maven.apache.org/maven2/org/objenesis/objenesis/3.2/objenesis-3.2.jar"
+ "https://repo.maven.apache.org/maven2/org/objenesis/objenesis/3.2/objenesis-3.2.jar",
+ "https://jpms.pkg.st/repository/org/objenesis/objenesis/3.2/objenesis-3.2.jar"
],
"sha256": "03d960bd5aef03c653eb000413ada15eb77cdd2b8e4448886edf5692805e35f3",
"url": "https://repo1.maven.org/maven2/org/objenesis/objenesis/3.2/objenesis-3.2.jar"
@@ -749,7 +788,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/org.osgi.dto/1.0.0/org.osgi.dto-1.0.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/org.osgi.dto/1.0.0/org.osgi.dto-1.0.0.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.dto/1.0.0/org.osgi.dto-1.0.0.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.dto/1.0.0/org.osgi.dto-1.0.0.jar",
+ "https://jpms.pkg.st/repository/org/osgi/org.osgi.dto/1.0.0/org.osgi.dto-1.0.0.jar"
],
"sha256": "cb75f3c7e48e5a31a31df22e26873346f5bf659e2dcab2369e031e4850d2ff43",
"url": "https://repo1.maven.org/maven2/org/osgi/org.osgi.dto/1.0.0/org.osgi.dto-1.0.0.jar"
@@ -761,7 +801,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/org.osgi.framework/1.8.0/org.osgi.framework-1.8.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/org.osgi.framework/1.8.0/org.osgi.framework-1.8.0.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.framework/1.8.0/org.osgi.framework-1.8.0.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.framework/1.8.0/org.osgi.framework-1.8.0.jar",
+ "https://jpms.pkg.st/repository/org/osgi/org.osgi.framework/1.8.0/org.osgi.framework-1.8.0.jar"
],
"sha256": "ec194b7871af27681716ff05259319a5c3c9b9727e8000e9e832499b93484b4e",
"url": "https://repo1.maven.org/maven2/org/osgi/org.osgi.framework/1.8.0/org.osgi.framework-1.8.0.jar"
@@ -773,7 +814,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/org.osgi.resource/1.0.0/org.osgi.resource-1.0.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/org.osgi.resource/1.0.0/org.osgi.resource-1.0.0.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.resource/1.0.0/org.osgi.resource-1.0.0.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.resource/1.0.0/org.osgi.resource-1.0.0.jar",
+ "https://jpms.pkg.st/repository/org/osgi/org.osgi.resource/1.0.0/org.osgi.resource-1.0.0.jar"
],
"sha256": "81fc50f1f1d38a4af28e131907d4afe213249aab05060484edca0e60c4af9b4a",
"url": "https://repo1.maven.org/maven2/org/osgi/org.osgi.resource/1.0.0/org.osgi.resource-1.0.0.jar"
@@ -785,7 +827,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/org.osgi.service.log/1.3.0/org.osgi.service.log-1.3.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/org.osgi.service.log/1.3.0/org.osgi.service.log-1.3.0.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.service.log/1.3.0/org.osgi.service.log-1.3.0.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.service.log/1.3.0/org.osgi.service.log-1.3.0.jar",
+ "https://jpms.pkg.st/repository/org/osgi/org.osgi.service.log/1.3.0/org.osgi.service.log-1.3.0.jar"
],
"sha256": "ff6710c4856d32684cf3ebdc45248f41036ff734f2b03bbc08c4609a61fecfa0",
"url": "https://repo1.maven.org/maven2/org/osgi/org.osgi.service.log/1.3.0/org.osgi.service.log-1.3.0.jar"
@@ -797,7 +840,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/org.osgi.service.repository/1.1.0/org.osgi.service.repository-1.1.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/org.osgi.service.repository/1.1.0/org.osgi.service.repository-1.1.0.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.service.repository/1.1.0/org.osgi.service.repository-1.1.0.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.service.repository/1.1.0/org.osgi.service.repository-1.1.0.jar",
+ "https://jpms.pkg.st/repository/org/osgi/org.osgi.service.repository/1.1.0/org.osgi.service.repository-1.1.0.jar"
],
"sha256": "c5553e95b459529192433486d4c4cc22ff45a2eae4968484f9f717319264a532",
"url": "https://repo1.maven.org/maven2/org/osgi/org.osgi.service.repository/1.1.0/org.osgi.service.repository-1.1.0.jar"
@@ -813,7 +857,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/org.osgi.util.function/1.2.0/org.osgi.util.function-1.2.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/org.osgi.util.function/1.2.0/org.osgi.util.function-1.2.0.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.util.function/1.2.0/org.osgi.util.function-1.2.0.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.util.function/1.2.0/org.osgi.util.function-1.2.0.jar",
+ "https://jpms.pkg.st/repository/org/osgi/org.osgi.util.function/1.2.0/org.osgi.util.function-1.2.0.jar"
],
"sha256": "208819c7c71690c15a6bb8b187474e7f9d0147946b680182a62b9f222ae014ec",
"url": "https://repo1.maven.org/maven2/org/osgi/org.osgi.util.function/1.2.0/org.osgi.util.function-1.2.0.jar"
@@ -831,7 +876,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/org.osgi.util.promise/1.2.0/org.osgi.util.promise-1.2.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/org.osgi.util.promise/1.2.0/org.osgi.util.promise-1.2.0.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.util.promise/1.2.0/org.osgi.util.promise-1.2.0.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.util.promise/1.2.0/org.osgi.util.promise-1.2.0.jar",
+ "https://jpms.pkg.st/repository/org/osgi/org.osgi.util.promise/1.2.0/org.osgi.util.promise-1.2.0.jar"
],
"sha256": "fef86e64f584d012a16a0306160764f6179663b90988a226c4641b920f3a4b36",
"url": "https://repo1.maven.org/maven2/org/osgi/org.osgi.util.promise/1.2.0/org.osgi.util.promise-1.2.0.jar"
@@ -847,7 +893,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/org.osgi.util.tracker/1.5.4/org.osgi.util.tracker-1.5.4.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/org.osgi.util.tracker/1.5.4/org.osgi.util.tracker-1.5.4.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.util.tracker/1.5.4/org.osgi.util.tracker-1.5.4.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/org.osgi.util.tracker/1.5.4/org.osgi.util.tracker-1.5.4.jar",
+ "https://jpms.pkg.st/repository/org/osgi/org.osgi.util.tracker/1.5.4/org.osgi.util.tracker-1.5.4.jar"
],
"sha256": "7d78c2cc9bcb6421c24f17aa097866ce8d9115c219a4f8d6cc753bc4dfb97efa",
"url": "https://repo1.maven.org/maven2/org/osgi/org.osgi.util.tracker/1.5.4/org.osgi.util.tracker-1.5.4.jar"
@@ -859,7 +906,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/osgi/osgi.annotation/8.0.1/osgi.annotation-8.0.1.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/osgi/osgi.annotation/8.0.1/osgi.annotation-8.0.1.jar",
- "https://repo.maven.apache.org/maven2/org/osgi/osgi.annotation/8.0.1/osgi.annotation-8.0.1.jar"
+ "https://repo.maven.apache.org/maven2/org/osgi/osgi.annotation/8.0.1/osgi.annotation-8.0.1.jar",
+ "https://jpms.pkg.st/repository/org/osgi/osgi.annotation/8.0.1/osgi.annotation-8.0.1.jar"
],
"sha256": "a0e8a4c362bd3600812f37b0ea45fba966c7bc049d01fed56a09ecc74082759e",
"url": "https://repo1.maven.org/maven2/org/osgi/osgi.annotation/8.0.1/osgi.annotation-8.0.1.jar"
@@ -876,7 +924,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/ow2/asm/asm-analysis/7.2/asm-analysis-7.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/7.2/asm-analysis-7.2.jar",
- "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/7.2/asm-analysis-7.2.jar"
+ "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/7.2/asm-analysis-7.2.jar",
+ "https://jpms.pkg.st/repository/org/ow2/asm/asm-analysis/7.2/asm-analysis-7.2.jar"
],
"sha256": "be922aae60ff1ff1768e8e6544a38a7f92bd0a6d6b0b9791f94955d1bd453de2",
"url": "https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/7.2/asm-analysis-7.2.jar"
@@ -896,7 +945,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/ow2/asm/asm-commons/7.2/asm-commons-7.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/7.2/asm-commons-7.2.jar",
- "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/7.2/asm-commons-7.2.jar"
+ "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/7.2/asm-commons-7.2.jar",
+ "https://jpms.pkg.st/repository/org/ow2/asm/asm-commons/7.2/asm-commons-7.2.jar"
],
"sha256": "0e86b8b179c5fb223d1a880a0ff4960b6978223984b94e62e71135f2d8ea3558",
"url": "https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/7.2/asm-commons-7.2.jar"
@@ -912,7 +962,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/ow2/asm/asm-tree/7.2/asm-tree-7.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/7.2/asm-tree-7.2.jar",
- "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/7.2/asm-tree-7.2.jar"
+ "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/7.2/asm-tree-7.2.jar",
+ "https://jpms.pkg.st/repository/org/ow2/asm/asm-tree/7.2/asm-tree-7.2.jar"
],
"sha256": "c063f5a67fa03cdc9bd79fd1c2ea6816cc4a19473ecdfbd9e9153b408c6f2656",
"url": "https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/7.2/asm-tree-7.2.jar"
@@ -932,7 +983,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/ow2/asm/asm-util/7.2/asm-util-7.2.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/ow2/asm/asm-util/7.2/asm-util-7.2.jar",
- "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-util/7.2/asm-util-7.2.jar"
+ "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-util/7.2/asm-util-7.2.jar",
+ "https://jpms.pkg.st/repository/org/ow2/asm/asm-util/7.2/asm-util-7.2.jar"
],
"sha256": "6e24913b021ffacfe8e7e053d6e0ccc731941148cfa078d4f1ed3d96904530f8",
"url": "https://repo1.maven.org/maven2/org/ow2/asm/asm-util/7.2/asm-util-7.2.jar"
@@ -944,7 +996,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar",
- "https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar"
+ "https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar",
+ "https://jpms.pkg.st/repository/org/ow2/asm/asm/9.0/asm-9.0.jar"
],
"sha256": "0df97574914aee92fd349d0cb4e00f3345d45b2c239e0bb50f0a90ead47888e0",
"url": "https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar"
@@ -956,7 +1009,8 @@
"file": "v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar",
"mirror_urls": [
"https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar",
- "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"
+ "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar",
+ "https://jpms.pkg.st/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"
],
"sha256": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
"url": "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"
diff --git a/protobuf_deps.bzl b/protobuf_deps.bzl
index daa40e8e99d4..1dbbf67a393e 100644
--- a/protobuf_deps.bzl
+++ b/protobuf_deps.bzl
@@ -7,10 +7,10 @@ PROTOBUF_MAVEN_ARTIFACTS = [
"com.google.caliper:caliper:1.0-beta-3",
"com.google.code.findbugs:jsr305:3.0.2",
"com.google.code.gson:gson:2.8.9",
- "com.google.errorprone:error_prone_annotations:2.5.1",
- "com.google.j2objc:j2objc-annotations:2.8",
- "com.google.guava:guava:32.0.1-jre",
- "com.google.guava:guava-testlib:32.0.1-jre",
+ "com.google.errorprone:error_prone_annotations:2.26.1",
+ "com.google.j2objc:j2objc-annotations:3.0.0",
+ "com.google.guava:guava:33.0.0-jre-jpms",
+ "com.google.guava:guava-testlib:33.0.0-jre",
"com.google.truth:truth:1.1.2",
"junit:junit:4.13.2",
"org.mockito:mockito-core:4.3.1",
@@ -105,8 +105,8 @@ def protobuf_deps():
_github_archive(
name = "rules_jvm_external",
repo = "https://github.com/bazelbuild/rules_jvm_external",
- commit = "906875b0d5eaaf61a8ca2c9c3835bde6f435d011",
- sha256 = "744bd7436f63af7e9872948773b8b106016dc164acb3960b4963f86754532ee7",
+ commit = "7ba59df6afa05c9e2d9356e1adb99f016a7c01eb",
+ sha256 = "eb794f26e0f2d5c149ddcff1d61bda449bc9f68c4bcce8dec1c4d7387907f63c",
)
if not native.existing_rule("rules_pkg"):
@@ -133,9 +133,9 @@ def protobuf_deps():
url = "https://github.com/bazelbuild/apple_support/releases/download/1.12.0/apple_support.1.12.0.tar.gz",
)
- if not native.existing_rule("io_bazel_rules_kotlin"):
+ if not native.existing_rule("rules_kotlin"):
http_archive(
- name = "io_bazel_rules_kotlin",
+ name = "rules_kotlin",
urls = ["https://github.com/bazelbuild/rules_kotlin/releases/download/v1.8.1/rules_kotlin_release.tgz"],
sha256 = "a630cda9fdb4f56cf2dc20a4bf873765c41cf00e9379e8d59cd07b24730f4fde",
)