diff --git a/defs.bzl b/defs.bzl index 496787bcf..88c22b617 100644 --- a/defs.bzl +++ b/defs.bzl @@ -19,7 +19,7 @@ load("//private/rules:java_export.bzl", _java_export = "java_export") load("//private/rules:javadoc.bzl", _javadoc = "javadoc") load("//private/rules:maven_bom.bzl", _maven_bom = "maven_bom") load("//private/rules:maven_install.bzl", _maven_install = "maven_install") -load("//private/rules:maven_publish.bzl", _MavenPublishInfo = "MavenPublishInfo") +load("//private/rules:maven_publish.bzl", _MavenPublishInfo = "MavenPublishInfo", _maven_publish="maven_publish") load("//private/rules:pom_file.bzl", _pom_file = "pom_file") DEFAULT_REPOSITORY_NAME = _DEFAULT_REPOSITORY_NAME @@ -33,3 +33,4 @@ maven_install = _maven_install pom_file = _pom_file read_coordinates = _read_coordinates MavenPublishInfo = _MavenPublishInfo +maven_publish = _maven_publish \ No newline at end of file diff --git a/examples/java-export/BUILD b/examples/java-export/BUILD index 64bddd307..9d59bf1a1 100644 --- a/examples/java-export/BUILD +++ b/examples/java-export/BUILD @@ -1,4 +1,4 @@ -load("@rules_jvm_external//:defs.bzl", "java_export", "maven_bom") +load("@rules_jvm_external//:defs.bzl", "java_export", "maven_bom", "maven_publish") # To export the file, run: # # `bazel run //:example-export.publish --define "maven_repo=file://$(pwd)/repository"` @@ -9,7 +9,7 @@ load("@rules_jvm_external//:defs.bzl", "java_export", "maven_bom") java_export( name = "example-export", extra_artifacts = { - "release": "//src/main/java/com/github/bazelbuild/rulesjvmexternal/example/export:tar", + "//src/main/java/com/github/bazelbuild/rulesjvmexternal/example/export:tar":"release", }, maven_coordinates = "com.example:bazel-example:0.0.1", runtime_deps = [ @@ -17,6 +17,13 @@ java_export( ], ) +maven_publish( + name = "artifact-publish", + artifact = "//src/main/java/com/github/bazelbuild/rulesjvmexternal/example/export:tar", + coordinates = "com.example:artifact-example:0.0.1", +) + + maven_bom( name = "bom", dependencies_maven_coordinates = "com.example:bazel-example-dependencies:0.0.1", diff --git a/examples/java-export/src/main/java/com/github/bazelbuild/rulesjvmexternal/example/export/BUILD b/examples/java-export/src/main/java/com/github/bazelbuild/rulesjvmexternal/example/export/BUILD index 62db4414f..99ddf9fdd 100644 --- a/examples/java-export/src/main/java/com/github/bazelbuild/rulesjvmexternal/example/export/BUILD +++ b/examples/java-export/src/main/java/com/github/bazelbuild/rulesjvmexternal/example/export/BUILD @@ -16,7 +16,6 @@ java_library( pkg_tar( name = "tar", srcs = glob(["*"]), - extension = "tar.gz", visibility = [ "//:__pkg__", ], diff --git a/private/rules/java_export.bzl b/private/rules/java_export.bzl index b495678d6..95840b01d 100644 --- a/private/rules/java_export.bzl +++ b/private/rules/java_export.bzl @@ -165,9 +165,6 @@ def maven_export( testonly = testonly, ) - extra_artifacts_targets = extra_artifacts.values() - extra_classifiers = extra_artifacts.keys() - pom_file( name = "%s-pom" % name, target = ":%s" % lib_name, @@ -178,13 +175,12 @@ def maven_export( ) maven_publish( - extra_artifacts = extra_artifacts_targets, - extra_classifiers = extra_classifiers, + extra_artifacts = extra_artifacts, name = "%s.publish" % name, coordinates = maven_coordinates, pom = "%s-pom" % name, javadocs = docs_jar, - artifact_jar = ":%s-maven-artifact" % name, + artifact = ":%s-maven-artifact" % name, source_jar = ":%s-maven-source" % name, visibility = visibility, tags = tags, diff --git a/private/rules/maven_publish.bzl b/private/rules/maven_publish.bzl index cfc0139b9..b433045c3 100644 --- a/private/rules/maven_publish.bzl +++ b/private/rules/maven_publish.bzl @@ -3,17 +3,16 @@ MavenPublishInfo = provider( "coordinates": "Maven coordinates for the project, which may be None", "pom": "Pom.xml file for metdata", "javadocs": "Javadoc jar file for documentation files", - "artifact_jar": "Jar with the code and metadata for execution", + "artifact": "Jar with the code and metadata or war/tar artifacts", "source_jar": "Jar with the source code for review", - "extra_classifiers": "Extra classifiers for Artifacts", - "extra_artifacts": "Extra artifacts such as tars, wars", + "extra_artifacts": "Extra artifacts such as tars, wars to classifiers mapping", }, ) _TEMPLATE = """#!/usr/bin/env bash echo "Uploading {coordinates} to {maven_repo}" -{uploader} {maven_repo} {gpg_sign} {user} {password} {coordinates} {pom} {artifact_jar} {source_jar} {javadoc} {extra_classifiers} {extra_artifacts} +{uploader} {maven_repo} {gpg_sign} {user} {password} {coordinates} {pom} {artifact} {source_jar} {javadoc} {extra_artifacts} """ def _maven_publish_impl(ctx): @@ -26,10 +25,13 @@ def _maven_publish_impl(ctx): # Expand maven coordinates for any variables to be replaced. coordinates = ctx.expand_make_variables("coordinates", ctx.attr.coordinates, {}) - artifacts_short_path = ctx.file.artifact_jar.short_path if ctx.file.artifact_jar else "''" + artifact_short_path = ctx.file.artifact.short_path if ctx.file.artifact else "''" source_short_path = ctx.file.source_jar.short_path if ctx.file.source_jar else "''" + pom_short_path = ctx.file.pom.short_path if ctx.file.pom else "''" javadocs_short_path = ctx.file.javadocs.short_path if ctx.file.javadocs else "''" - extra_artifacts = [file.short_path for file in ctx.files.extra_artifacts] + print(ctx.attr.extra_artifacts.items()) + extra_files = [target.files.to_list()[0] for target,_ in ctx.attr.extra_artifacts.items()] + extra_artifacts = ["{}={}".format(classifier,target.files.to_list()[0].short_path) for target, classifier in ctx.attr.extra_artifacts.items()] ctx.actions.write( output = executable, @@ -41,18 +43,19 @@ def _maven_publish_impl(ctx): maven_repo = maven_repo, password = password, user = user, - pom = ctx.file.pom.short_path, - artifact_jar = artifacts_short_path, + pom = pom_short_path, + artifact = artifact_short_path, source_jar = source_short_path, javadoc = javadocs_short_path, - extra_classifiers = ",".join(ctx.attr.extra_classifiers), extra_artifacts = ",".join(extra_artifacts), ), ) - files = ctx.files.extra_artifacts + [ctx.file.pom] - if ctx.file.artifact_jar: - files.append(ctx.file.artifact_jar) + files = extra_files + if ctx.file.pom: + files.append(ctx.file.pom) + if ctx.file.artifact: + files.append(ctx.file.artifact) if ctx.file.source_jar: files.append(ctx.file.source_jar) if ctx.file.javadocs: @@ -69,7 +72,7 @@ def _maven_publish_impl(ctx): ), MavenPublishInfo( coordinates = coordinates, - artifact_jar = ctx.file.artifact_jar, + artifact = ctx.file.artifact, javadocs = ctx.file.javadocs, source_jar = ctx.file.source_jar, pom = ctx.file.pom, @@ -97,20 +100,18 @@ When signing with GPG, the current default key is used. mandatory = True, ), "pom": attr.label( - mandatory = True, allow_single_file = True, ), "javadocs": attr.label( allow_single_file = True, ), - "artifact_jar": attr.label( + "artifact": attr.label( allow_single_file = True, ), "source_jar": attr.label( allow_single_file = True, ), - "extra_classifiers": attr.string_list(), - "extra_artifacts": attr.label_list(), + "extra_artifacts": attr.label_keyed_string_dict(), "_uploader": attr.label( executable = True, cfg = "exec", diff --git a/private/tools/java/rules/jvm/external/maven/BUILD b/private/tools/java/rules/jvm/external/maven/BUILD index 4c4ebd0a4..c2858a79a 100644 --- a/private/tools/java/rules/jvm/external/maven/BUILD +++ b/private/tools/java/rules/jvm/external/maven/BUILD @@ -7,6 +7,10 @@ java_binary( visibility = ["//visibility:public"], deps = [ "//private/tools/java/rules/jvm/external:byte-streams", + artifact( + "com.google.guava:guava", + repository_name = "rules_jvm_external_deps", + ), artifact( "com.google.auth:google-auth-library-oauth2-http", repository_name = "rules_jvm_external_deps", diff --git a/private/tools/java/rules/jvm/external/maven/MavenPublisher.java b/private/tools/java/rules/jvm/external/maven/MavenPublisher.java index 891c6d0c9..70a5e2468 100644 --- a/private/tools/java/rules/jvm/external/maven/MavenPublisher.java +++ b/private/tools/java/rules/jvm/external/maven/MavenPublisher.java @@ -53,6 +53,9 @@ import java.util.concurrent.Executors; import java.util.concurrent.TimeoutException; import java.util.logging.Logger; + +import com.google.common.base.Splitter; +import com.google.common.base.Strings; import rules.jvm.external.ByteStreams; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.PutObjectRequest; @@ -85,19 +88,19 @@ public static void main(String[] args) Coordinates coords = new Coordinates(parts.get(0), parts.get(1), parts.get(2)); // Calculate md5 and sha1 for each of the inputs - Path pom = Paths.get(args[5]); + Path pom = getPathIfSet(args[5]); Path binJar = getPathIfSet(args[6]); Path srcJar = getPathIfSet(args[7]); Path docJar = getPathIfSet(args[8]); - String extraClassifiers = args.length > 9 ? args[9] : null; - String extraArtifacts = args.length > 10 ? args[10] : null; try { List> futures = new ArrayList<>(); - futures.add(upload(repo, credentials, coords, ".pom", pom, gpgSign)); - + if(pom != null) { + futures.add(upload(repo, credentials, coords, ".pom", pom, gpgSign)); + } if (binJar != null) { - futures.add(upload(repo, credentials, coords, ".jar", binJar, gpgSign)); + String ext = com.google.common.io.Files.getFileExtension(binJar.getFileName().toString()); + futures.add(upload(repo, credentials, coords, "." + ext, binJar, gpgSign)); } if (srcJar != null) { @@ -107,12 +110,17 @@ public static void main(String[] args) if (docJar != null) { futures.add(upload(repo, credentials, coords, "-javadoc.jar", docJar, gpgSign)); } - - if(extraClassifiers != null && extraArtifacts != null) { - LOG.info(String.format("extraClassifiers: %s, extraArtifacts: %s", extraClassifiers, extraArtifacts)); - futures.add(uploadExtraArtifacts(repo, credentials, coords, extraClassifiers, extraArtifacts)); + if(args.length > 9) { + List extraArtifactsList = Splitter.onPattern(",").splitToList(args[9]); + for (String extraArtifactTuple : extraArtifactsList) { + // Get the extra artifacts in tuple format. (classifier = artifactPath) + String[] splits = extraArtifactTuple.split("="); + String classifier = splits[0]; + Path artifactPath = getPathIfSet(splits[1]); + String ext = com.google.common.io.Files.getFileExtension(artifactPath.getFileName().toString()); + futures.add(upload(repo, credentials, coords, String.format("-%s.%s", classifier, ext), artifactPath, gpgSign)); + } } - CompletableFuture all = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])); all.get(30, MINUTES); } finally { @@ -176,34 +184,6 @@ private static CompletableFuture upload( return CompletableFuture.allOf(uploads.toArray(new CompletableFuture[0])); } - private static CompletableFuture uploadExtraArtifacts( - String repo, - Credentials credentials, - Coordinates coords, - String extraClassifiers, - String extraArtifacts - ){ - List> uploads = new ArrayList<>(); - String[] extraClassifiersArr = extraClassifiers.split(","); - String[] extraArtifactsArr = extraArtifacts.split(","); - for(int index=0; index[0])); - } - private static String toSha1(byte[] toHash) { return toHexS("%040x", "SHA-1", toHash); } diff --git a/repositories.bzl b/repositories.bzl index 724fa53a1..f55975e39 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -31,6 +31,7 @@ def rules_jvm_external_deps(repositories = _DEFAULT_REPOSITORIES): "com.google.googlejavaformat:google-java-format:jar:1.15.0", "org.apache.maven:maven-artifact:3.8.6", "software.amazon.awssdk:s3:2.17.183", + "com.google.guava:guava:31.1-jre" ], maven_install_json = "@rules_jvm_external//:rules_jvm_external_deps_install.json", fail_if_repin_required = True, diff --git a/rules_jvm_external_deps_install.json b/rules_jvm_external_deps_install.json index d8328ffe3..c611d4ac7 100644 --- a/rules_jvm_external_deps_install.json +++ b/rules_jvm_external_deps_install.json @@ -1,8 +1,8 @@ { "dependency_tree": { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": -1857423809, - "__RESOLVED_ARTIFACTS_HASH": -1088033370, + "__INPUT_ARTIFACTS_HASH": 1937760440, + "__RESOLVED_ARTIFACTS_HASH": 290925504, "conflict_resolution": {}, "dependencies": [ { @@ -125,13 +125,13 @@ "dependencies": [ "com.google.auto.value:auto-value-annotations:1.7.4", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "javax.annotation:javax.annotation-api:1.3.2" ], "directDependencies": [ "com.google.auto.value:auto-value-annotations:1.7.4", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "javax.annotation:javax.annotation-api:1.3.2" ], "file": "v1/https/repo1.maven.org/maven2/com/google/api/api-common/1.10.1/api-common-1.10.1.jar", @@ -181,7 +181,7 @@ "com.google.api:api-common:1.10.1", "com.google.auth:google-auth-library-oauth2-http:0.22.0", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "io.grpc:grpc-context:1.33.1", "io.opencensus:opencensus-api:0.24.0", "org.threeten:threetenbp:1.5.0" @@ -190,7 +190,7 @@ "com.google.api:api-common:1.10.1", "com.google.auth:google-auth-library-oauth2-http:0.22.0", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "io.opencensus:opencensus-api:0.24.0", "org.threeten:threetenbp:1.5.0" ], @@ -252,7 +252,7 @@ "com.google.auth:google-auth-library-credentials:0.22.0", "com.google.auto.value:auto-value-annotations:1.7.4", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "com.google.http-client:google-http-client-jackson2:1.38.0", "com.google.http-client:google-http-client:1.38.0" ], @@ -260,7 +260,7 @@ "com.google.auth:google-auth-library-credentials:0.22.0", "com.google.auto.value:auto-value-annotations:1.7.4", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "com.google.http-client:google-http-client-jackson2:1.38.0", "com.google.http-client:google-http-client:1.38.0" ], @@ -335,8 +335,8 @@ "com.google.auto.value:auto-value-annotations:1.7.4", "com.google.code.findbugs:jsr305:3.0.2", "com.google.code.gson:gson:2.9.0", - "com.google.errorprone:error_prone_annotations:2.7.1", - "com.google.guava:guava:31.0.1-jre", + "com.google.errorprone:error_prone_annotations:2.11.0", + "com.google.guava:guava:31.1-jre", "com.google.http-client:google-http-client-jackson2:1.38.0", "com.google.http-client:google-http-client:1.38.0", "com.google.protobuf:protobuf-java-util:3.13.0", @@ -355,7 +355,7 @@ "com.google.auth:google-auth-library-oauth2-http:0.22.0", "com.google.auto.value:auto-value-annotations:1.7.4", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "com.google.http-client:google-http-client-jackson2:1.38.0", "com.google.http-client:google-http-client:1.38.0", "com.google.protobuf:protobuf-java-util:3.13.0", @@ -393,9 +393,9 @@ "com.google.cloud:google-cloud-core:1.93.10", "com.google.code.findbugs:jsr305:3.0.2", "com.google.code.gson:gson:2.9.0", - "com.google.errorprone:error_prone_annotations:2.7.1", + "com.google.errorprone:error_prone_annotations:2.11.0", "com.google.guava:failureaccess:1.0.1", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", "com.google.http-client:google-http-client-appengine:1.38.0", "com.google.http-client:google-http-client-jackson2:1.38.0", @@ -427,9 +427,9 @@ "com.google.cloud:google-cloud-core:1.93.10", "com.google.code.findbugs:jsr305:3.0.2", "com.google.code.gson:gson:2.9.0", - "com.google.errorprone:error_prone_annotations:2.7.1", + "com.google.errorprone:error_prone_annotations:2.11.0", "com.google.guava:failureaccess:1.0.1", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", "com.google.http-client:google-http-client-appengine:1.38.0", "com.google.http-client:google-http-client-jackson2:1.38.0", @@ -500,34 +500,28 @@ "url": "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar" }, { - "coord": "com.google.errorprone:error_prone_annotations:2.7.1", + "coord": "com.google.errorprone:error_prone_annotations:2.11.0", "dependencies": [], "directDependencies": [], - "file": "v1/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar", + "file": "v1/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar", - "https://maven.google.com/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar" + "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar", + "https://maven.google.com/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar" ], "packages": [ "com.google.errorprone.annotations", "com.google.errorprone.annotations.concurrent" ], - "sha256": "cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3", - "url": "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar" + "sha256": "721cb91842b46fa056847d104d5225c8b8e1e8b62263b993051e1e5a0137b7ec", + "url": "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar" }, { "coord": "com.google.googlejavaformat:google-java-format:1.15.0", "dependencies": [ - "com.google.code.findbugs:jsr305:3.0.2", - "com.google.errorprone:error_prone_annotations:2.7.1", - "com.google.guava:failureaccess:1.0.1", - "com.google.guava:guava:31.0.1-jre", - "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", - "com.google.j2objc:j2objc-annotations:1.3", - "org.checkerframework:checker-qual:3.12.0" + "com.google.guava:guava:31.1-jre" ], "directDependencies": [ - "com.google.guava:guava:31.0.1-jre" + "com.google.guava:guava:31.1-jre" ], "file": "v1/https/repo1.maven.org/maven2/com/google/googlejavaformat/google-java-format/1.15.0/google-java-format-1.15.0.jar", "mirror_urls": [ @@ -560,10 +554,10 @@ "url": "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" }, { - "coord": "com.google.guava:guava:31.0.1-jre", + "coord": "com.google.guava:guava:31.1-jre", "dependencies": [ "com.google.code.findbugs:jsr305:3.0.2", - "com.google.errorprone:error_prone_annotations:2.7.1", + "com.google.errorprone:error_prone_annotations:2.11.0", "com.google.guava:failureaccess:1.0.1", "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", "com.google.j2objc:j2objc-annotations:1.3", @@ -571,16 +565,16 @@ ], "directDependencies": [ "com.google.code.findbugs:jsr305:3.0.2", - "com.google.errorprone:error_prone_annotations:2.7.1", + "com.google.errorprone:error_prone_annotations:2.11.0", "com.google.guava:failureaccess:1.0.1", "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", "com.google.j2objc:j2objc-annotations:1.3", "org.checkerframework:checker-qual:3.12.0" ], - "file": "v1/https/repo1.maven.org/maven2/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar", + "file": "v1/https/repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar", "mirror_urls": [ - "https://repo1.maven.org/maven2/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar", - "https://maven.google.com/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar" + "https://repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar", + "https://maven.google.com/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar" ], "packages": [ "com.google.common.annotations", @@ -602,8 +596,8 @@ "com.google.common.xml", "com.google.thirdparty.publicsuffix" ], - "sha256": "d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9", - "url": "https://repo1.maven.org/maven2/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar" + "sha256": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab", + "url": "https://repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar" }, { "coord": "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", @@ -643,7 +637,7 @@ "dependencies": [ "com.fasterxml.jackson.core:jackson-core:2.11.3", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "com.google.http-client:google-http-client:1.38.0", "com.google.j2objc:j2objc-annotations:1.3", "commons-codec:commons-codec:1.11", @@ -673,7 +667,7 @@ "coord": "com.google.http-client:google-http-client:1.38.0", "dependencies": [ "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "com.google.j2objc:j2objc-annotations:1.3", "commons-codec:commons-codec:1.11", "commons-logging:commons-logging:1.2", @@ -685,7 +679,7 @@ ], "directDependencies": [ "com.google.code.findbugs:jsr305:3.0.2", - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "com.google.j2objc:j2objc-annotations:1.3", "io.opencensus:opencensus-api:0.24.0", "io.opencensus:opencensus-contrib-http-util:0.24.0", @@ -759,14 +753,14 @@ "coord": "com.google.protobuf:protobuf-java-util:3.13.0", "dependencies": [ "com.google.code.gson:gson:2.9.0", - "com.google.errorprone:error_prone_annotations:2.7.1", - "com.google.guava:guava:31.0.1-jre", + "com.google.errorprone:error_prone_annotations:2.11.0", + "com.google.guava:guava:31.1-jre", "com.google.protobuf:protobuf-java:3.13.0" ], "directDependencies": [ "com.google.code.gson:gson:2.9.0", - "com.google.errorprone:error_prone_annotations:2.7.1", - "com.google.guava:guava:31.0.1-jre", + "com.google.errorprone:error_prone_annotations:2.11.0", + "com.google.guava:guava:31.1-jre", "com.google.protobuf:protobuf-java:3.13.0" ], "file": "v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar", @@ -1232,12 +1226,12 @@ { "coord": "io.opencensus:opencensus-contrib-http-util:0.24.0", "dependencies": [ - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "io.grpc:grpc-context:1.33.1", "io.opencensus:opencensus-api:0.24.0" ], "directDependencies": [ - "com.google.guava:guava:31.0.1-jre", + "com.google.guava:guava:31.1-jre", "io.opencensus:opencensus-api:0.24.0" ], "file": "v1/https/repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",