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 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 + 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", )