From 2429ac330461e8f3ceac0db8f74c8aaf6849c8fc Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Thu, 9 Jan 2025 16:39:56 -0500 Subject: [PATCH 01/24] ci: remove unnecessary distributionManagement section (#3565) The distributionManagement declared in the pom.xml files interferes the upload to GCP ArtifactRegistry because it tries to upload artifacts to google.oss.sonatype.org even when you try to upload artifacts to GCP Artifact Registry (b/377328233#comment9). The distributionManagement is already configured in the parent POM at https://github.com/googleapis/java-shared-config/blob/6d526a3129f585338b14dab8f041e56dbaae4cd5/native-image-shared-config/pom.xml#L42. No need redeclare in these pom.xml files. --- java-common-protos/pom.xml | 10 ---------- java-iam/pom.xml | 10 ---------- 2 files changed, 20 deletions(-) diff --git a/java-common-protos/pom.xml b/java-common-protos/pom.xml index a4e4e61380..15ffb7ea8b 100644 --- a/java-common-protos/pom.xml +++ b/java-common-protos/pom.xml @@ -31,16 +31,6 @@ Google LLC - - - sonatype-nexus-snapshots - https://google.oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - https://google.oss.sonatype.org/service/local/staging/deploy/maven2/ - - Apache-2.0 diff --git a/java-iam/pom.xml b/java-iam/pom.xml index c578aa22b4..cbf7b3889f 100644 --- a/java-iam/pom.xml +++ b/java-iam/pom.xml @@ -31,16 +31,6 @@ Google LLC - - - sonatype-nexus-snapshots - https://google.oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - https://google.oss.sonatype.org/service/local/staging/deploy/maven2/ - - Apache-2.0 From 1c6ebae19fdd52106250dca32c798258d8293329 Mon Sep 17 00:00:00 2001 From: ldetmer <1771267+ldetmer@users.noreply.github.com> Date: Fri, 10 Jan 2025 20:51:30 +0000 Subject: [PATCH 02/24] chore: temporarily disable updating grpc and guava versions until after LTS is released (#3567) --- renovate.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/renovate.json b/renovate.json index 31f0ff21b8..fa40e87d89 100644 --- a/renovate.json +++ b/renovate.json @@ -110,7 +110,8 @@ "versioning": "docker", "matchPackageNames": [ "/^com.google.guava:/" - ] + ], + "enabled": false }, { "semanticCommitType": "deps", @@ -168,7 +169,8 @@ "groupName": "gRPC dependencies", "matchPackageNames": [ "/^io.grpc/" - ] + ], + "enabled": false }, { "groupName": "Google Auth Library dependencies", From b404431b414121088e1dd6dd3e8299069fa40772 Mon Sep 17 00:00:00 2001 From: Min Zhu Date: Tue, 14 Jan 2025 21:00:01 -0500 Subject: [PATCH 03/24] chore: setup declarative configuration for branch protection and release-please (#3091) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixes #3085 This change should migrate all required tests from "settings" tab to `.github/sync-repo-settings.yaml`. Also setting up release-please branches for lts. Sync-repo-settings.yaml is updated referencing [this guide](https://github.com/googleapis/repo-automation-bots/tree/main/packages/sync-repo-settings), and settings in google-cloud-java [here](https://github.com/googleapis/google-cloud-java/blob/main/.github/sync-repo-settings.yaml). Release-please.yaml is updated referencing [this](https://github.com/googleapis/repo-automation-bots/tree/main/packages/release-please#configuration) and google-cloud-java settings [here](https://github.com/googleapis/google-cloud-java/blob/main/.github/release-please.yml). **Questions to reviewers:** - Is permission rules with "yoshi-" teams still accurate? Do we prefer java specific teams as admin/push? - This update will override configurations in “Settings” for protected branches, I do not have access to this tab. Can you please double check I am not missing anything AND/OR give me access to it? --- .github/release-please.yml | 11 +++- .github/sync-repo-settings.yaml | 108 ++++++++++++++++++++++---------- 2 files changed, 85 insertions(+), 34 deletions(-) diff --git a/.github/release-please.yml b/.github/release-please.yml index c117556ed1..e42bd9d1a5 100644 --- a/.github/release-please.yml +++ b/.github/release-please.yml @@ -3,4 +3,13 @@ bumpMinorPreMajor: true handleGHRelease: true primaryBranch: main manifest: true -extraFiles: ["WORKSPACE", ".cloudbuild/graalvm/cloudbuild.yaml", ".cloudbuild/graalvm/cloudbuild-test-a.yaml", ".cloudbuild/graalvm/cloudbuild-test-b.yaml"] +extraFiles: ["WORKSPACE", ".cloudbuild/graalvm/cloudbuild.yaml", ".cloudbuild/graalvm/cloudbuild-test-a.yaml", ".cloudbuild/graalvm/cloudbuild-test-b.yaml", ".cloudbuild/library_generation/cloudbuild-library-generation-release.yaml", "generation_config.yaml"] +branches: + - branch: 2.23.x + releaseType: java-backport + manifest: true + handleGHRelease: true + - branch: 2.40.x + releaseType: java-backport + manifest: true + handleGHRelease: true diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml index 835aa157d4..4e71b4eabc 100644 --- a/.github/sync-repo-settings.yaml +++ b/.github/sync-repo-settings.yaml @@ -2,37 +2,79 @@ rebaseMergeAllowed: true squashMergeAllowed: true mergeCommitAllowed: false branchProtectionRules: -- pattern: main - isAdminEnforced: true - requiredApprovingReviewCount: 1 - requiresCodeOwnerReviews: true - requiresStrictStatusChecks: false - requiredStatusCheckContexts: - - build(8) except for gapic-generator-java - - build(8) for gapic-generator-java - - build (11) - - build (17) - - cla/google - - compatibility - - graalvm-presubmit-sdk-platform-java-a (java-graalvm-ci-prod) - - graalvm-presubmit-sdk-platform-java-b (java-graalvm-ci-prod) - - graalvm-presubmit-sdk-platform-java-a-downstream-kms (java-graalvm-ci-prod) - - graalvm-presubmit-sdk-platform-java-b-downstream-kms (java-graalvm-ci-prod) - - graalvm-presubmit-sdk-platform-java-a-downstream-kmsinventory (java-graalvm-ci-prod) - - graalvm-presubmit-sdk-platform-java-b-downstream-kmsinventory (java-graalvm-ci-prod) - - library_generation - - library-generation-integration-test (java-hermetic-build-prod) - - library-generation-lint-python - - library-generation-lint-shell - - library-generation-unit-tests - - lint - - should-run-library-generation-tests - - showcase (11) - - showcase (17) + - pattern: main + isAdminEnforced: true + requiredApprovingReviewCount: 1 + requiresCodeOwnerReviews: true + requiresStrictStatusChecks: false + requiredStatusCheckContexts: + - build(8) except for gapic-generator-java + - build(8) for gapic-generator-java + - build (11) + - build (17) + - cla/google + - compatibility + - graalvm-presubmit-sdk-platform-java-a (java-graalvm-ci-prod) + - graalvm-presubmit-sdk-platform-java-b (java-graalvm-ci-prod) + - graalvm-presubmit-sdk-platform-java-a-downstream-kms (java-graalvm-ci-prod) + - graalvm-presubmit-sdk-platform-java-b-downstream-kms (java-graalvm-ci-prod) + - graalvm-presubmit-sdk-platform-java-a-downstream-kmsinventory (java-graalvm-ci-prod) + - graalvm-presubmit-sdk-platform-java-b-downstream-kmsinventory (java-graalvm-ci-prod) + - library_generation + - library-generation-integration-test (java-hermetic-build-prod) + - library-generation-lint-python + - library-generation-lint-shell + - library-generation-unit-tests + - lint + - should-run-library-generation-tests + - showcase (11) + - showcase (17) + - pattern: 2.23.x + isAdminEnforced: true + requiredApprovingReviewCount: 1 + requiresCodeOwnerReviews: true + requiresStrictStatusChecks: false + requiredStatusCheckContexts: + - build (8) except for gapic-generator-java + - build (8) for gapic-generator-java + - build (11) + - build (17) + - showcase (11) + - showcase (17) + - compatibility + - cla/google + - lint + - graalvm-presubmit-sdk-platform-java-a (cloud-devrel-kokoro-resources) + - graalvm-presubmit-sdk-platform-java-b (cloud-devrel-kokoro-resources) + - library-generation-integration-tests + - library-generation-lint-shell + - library-generation-lint-python + - should-run-library-generation-tests + - pattern: 2.40.x + isAdminEnforced: true + requiredApprovingReviewCount: 1 + requiresCodeOwnerReviews: true + requiresStrictStatusChecks: false + requiredStatusCheckContexts: + - build (8) except for gapic-generator-java + - build (8) for gapic-generator-java + - build (11) + - build (17) + - build(21) except self-service clients + - showcase (11) + - showcase (17) + - showcase-native + - compatibility + - cla/google + - lint + - graalvm-presubmit-sdk-platform-java-a (cloud-devrel-kokoro-resources) + - graalvm-presubmit-sdk-platform-java-b (cloud-devrel-kokoro-resources) + - library-generation-integration-tests + - library-generation-lint-shell + - library-generation-lint-python + - should-run-library-generation-tests permissionRules: -- team: yoshi-admins - permission: admin -- team: yoshi-java-admins - permission: admin -- team: yoshi-java - permission: push + - team: cloud-java-team-teamsync + permission: admin + - team: cloud-java-bot + permission: write From 09d9708dec7ef82f7d269c6285a9588dec48ac5d Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 17 Jan 2025 09:21:58 -0500 Subject: [PATCH 04/24] chore(main): release 2.51.2-SNAPSHOT (#3563) :robot: I have created a release *beep* *boop* ---
2.51.2-SNAPSHOT ### Updating meta-information for bleeding-edge SNAPSHOT release.
--- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Tomo Suzuki --- .cloudbuild/graalvm/cloudbuild-test-a.yaml | 2 +- .cloudbuild/graalvm/cloudbuild-test-b.yaml | 2 +- .cloudbuild/graalvm/cloudbuild.yaml | 2 +- .../cloudbuild-library-generation-push.yaml | 2 +- .../library_generation.Dockerfile | 2 +- .../library_generation_airlock.Dockerfile | 2 +- WORKSPACE | 2 +- api-common-java/pom.xml | 4 +-- coverage-report/pom.xml | 8 ++--- gapic-generator-java-bom/pom.xml | 26 +++++++-------- gapic-generator-java-pom-parent/pom.xml | 2 +- gapic-generator-java/pom.xml | 6 ++-- gax-java/dependencies.properties | 8 ++--- gax-java/gax-bom/pom.xml | 20 ++++++------ gax-java/gax-grpc/pom.xml | 4 +-- gax-java/gax-httpjson/pom.xml | 4 +-- gax-java/gax/pom.xml | 4 +-- gax-java/pom.xml | 14 ++++---- .../grpc-google-common-protos/pom.xml | 4 +-- java-common-protos/pom.xml | 10 +++--- .../proto-google-common-protos/pom.xml | 4 +-- java-core/google-cloud-core-bom/pom.xml | 10 +++--- java-core/google-cloud-core-grpc/pom.xml | 4 +-- java-core/google-cloud-core-http/pom.xml | 4 +-- java-core/google-cloud-core/pom.xml | 4 +-- java-core/pom.xml | 6 ++-- java-iam/grpc-google-iam-v1/pom.xml | 4 +-- java-iam/grpc-google-iam-v2/pom.xml | 4 +-- java-iam/grpc-google-iam-v2beta/pom.xml | 4 +-- java-iam/pom.xml | 22 ++++++------- java-iam/proto-google-iam-v1/pom.xml | 4 +-- java-iam/proto-google-iam-v2/pom.xml | 4 +-- java-iam/proto-google-iam-v2beta/pom.xml | 4 +-- .../dependency-convergence-check/pom.xml | 2 +- .../first-party-dependencies/pom.xml | 10 +++--- java-shared-dependencies/pom.xml | 8 ++--- .../third-party-dependencies/pom.xml | 4 +-- .../upper-bound-check/pom.xml | 4 +-- sdk-platform-java-config/pom.xml | 4 +-- showcase/pom.xml | 2 +- versions.txt | 32 +++++++++---------- 41 files changed, 136 insertions(+), 136 deletions(-) diff --git a/.cloudbuild/graalvm/cloudbuild-test-a.yaml b/.cloudbuild/graalvm/cloudbuild-test-a.yaml index 2ea0aa67ce..6c8bf10da5 100644 --- a/.cloudbuild/graalvm/cloudbuild-test-a.yaml +++ b/.cloudbuild/graalvm/cloudbuild-test-a.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.41.1' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.41.2-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.13.0' options: machineType: 'E2_HIGHCPU_8' diff --git a/.cloudbuild/graalvm/cloudbuild-test-b.yaml b/.cloudbuild/graalvm/cloudbuild-test-b.yaml index afd59670f3..71e4539e3b 100644 --- a/.cloudbuild/graalvm/cloudbuild-test-b.yaml +++ b/.cloudbuild/graalvm/cloudbuild-test-b.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.41.1' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.41.2-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.13.0' options: machineType: 'E2_HIGHCPU_8' diff --git a/.cloudbuild/graalvm/cloudbuild.yaml b/.cloudbuild/graalvm/cloudbuild.yaml index f69157c0a9..92410e19e0 100644 --- a/.cloudbuild/graalvm/cloudbuild.yaml +++ b/.cloudbuild/graalvm/cloudbuild.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.41.1' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.41.2-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.13.0' steps: # GraalVM A build diff --git a/.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml b/.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml index bcc74e0ec3..1fea8266b7 100644 --- a/.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml +++ b/.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _GAPIC_GENERATOR_JAVA_VERSION: '2.51.1' # {x-version-update:gapic-generator-java:current} + _GAPIC_GENERATOR_JAVA_VERSION: '2.51.2-SNAPSHOT' # {x-version-update:gapic-generator-java:current} _PRIVATE_IMAGE_NAME: "us-docker.pkg.dev/java-hermetic-build-prod/private-resources/java-library-generation" _PRIVATE_SHA_IMAGE_ID: "${_PRIVATE_IMAGE_NAME}:${COMMIT_SHA}" _PRIVATE_LATEST_IMAGE_ID: "${_PRIVATE_IMAGE_NAME}:latest" diff --git a/.cloudbuild/library_generation/library_generation.Dockerfile b/.cloudbuild/library_generation/library_generation.Dockerfile index a7f4f48eb3..60ce8aa47c 100644 --- a/.cloudbuild/library_generation/library_generation.Dockerfile +++ b/.cloudbuild/library_generation/library_generation.Dockerfile @@ -20,7 +20,7 @@ FROM docker.io/library/maven:3.9.9-eclipse-temurin-11-alpine@sha256:3bab9f2cd4fa WORKDIR /sdk-platform-java COPY . . # {x-version-update-start:gapic-generator-java:current} -ENV DOCKER_GAPIC_GENERATOR_VERSION="2.51.1" +ENV DOCKER_GAPIC_GENERATOR_VERSION="2.51.2-SNAPSHOT" # {x-version-update-end} RUN mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip diff --git a/.cloudbuild/library_generation/library_generation_airlock.Dockerfile b/.cloudbuild/library_generation/library_generation_airlock.Dockerfile index 929222c97e..624b7a3660 100644 --- a/.cloudbuild/library_generation/library_generation_airlock.Dockerfile +++ b/.cloudbuild/library_generation/library_generation_airlock.Dockerfile @@ -21,7 +21,7 @@ FROM us-docker.pkg.dev/artifact-foundry-prod/docker-3p-trusted/maven@sha256:d3f0 WORKDIR /sdk-platform-java COPY . . # {x-version-update-start:gapic-generator-java:current} -ENV DOCKER_GAPIC_GENERATOR_VERSION="2.51.1" +ENV DOCKER_GAPIC_GENERATOR_VERSION="2.51.2-SNAPSHOT" # {x-version-update-end} RUN mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip diff --git a/WORKSPACE b/WORKSPACE index 6d4ae756a9..ab3d06adcc 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -58,7 +58,7 @@ load("@rules_jvm_external//:defs.bzl", "maven_install") load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_ARTIFACTS") load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS") -_gapic_generator_java_version = "2.51.1" # {x-version-update:gapic-generator-java:current} +_gapic_generator_java_version = "2.51.2-SNAPSHOT" # {x-version-update:gapic-generator-java:current} maven_install( artifacts = [ diff --git a/api-common-java/pom.xml b/api-common-java/pom.xml index e7de60d7bd..48b1a4780f 100644 --- a/api-common-java/pom.xml +++ b/api-common-java/pom.xml @@ -5,14 +5,14 @@ com.google.api api-common jar - 2.42.1 + 2.42.2-SNAPSHOT API Common Common utilities for Google APIs in Java com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../gapic-generator-java-pom-parent diff --git a/coverage-report/pom.xml b/coverage-report/pom.xml index 487791ad22..782ca3a496 100644 --- a/coverage-report/pom.xml +++ b/coverage-report/pom.xml @@ -31,22 +31,22 @@ com.google.api gax - 2.59.1 + 2.59.2-SNAPSHOT com.google.api gax-grpc - 2.59.1 + 2.59.2-SNAPSHOT com.google.api gax-httpjson - 2.59.1 + 2.59.2-SNAPSHOT com.google.api api-common - 2.42.1 + 2.42.2-SNAPSHOT diff --git a/gapic-generator-java-bom/pom.xml b/gapic-generator-java-bom/pom.xml index f1f1501d09..3d6acc51db 100644 --- a/gapic-generator-java-bom/pom.xml +++ b/gapic-generator-java-bom/pom.xml @@ -4,7 +4,7 @@ com.google.api gapic-generator-java-bom pom - 2.51.1 + 2.51.2-SNAPSHOT GAPIC Generator Java BOM BOM for the libraries in gapic-generator-java repository. Users should not @@ -15,7 +15,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../gapic-generator-java-pom-parent @@ -75,61 +75,61 @@ com.google.api api-common - 2.42.1 + 2.42.2-SNAPSHOT com.google.api gax-bom - 2.59.1 + 2.59.2-SNAPSHOT pom import com.google.api gapic-generator-java - 2.51.1 + 2.51.2-SNAPSHOT com.google.api.grpc grpc-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT com.google.api.grpc proto-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT com.google.api.grpc proto-google-iam-v1 - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc proto-google-iam-v2 - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc proto-google-iam-v2beta - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc grpc-google-iam-v1 - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc grpc-google-iam-v2 - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc grpc-google-iam-v2beta - 1.45.1 + 1.45.2-SNAPSHOT diff --git a/gapic-generator-java-pom-parent/pom.xml b/gapic-generator-java-pom-parent/pom.xml index 87c6bffe9f..84e720b6e2 100644 --- a/gapic-generator-java-pom-parent/pom.xml +++ b/gapic-generator-java-pom-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT pom GAPIC Generator Java POM Parent https://github.com/googleapis/sdk-platform-java diff --git a/gapic-generator-java/pom.xml b/gapic-generator-java/pom.xml index a3c8af8d73..0b48951ed8 100644 --- a/gapic-generator-java/pom.xml +++ b/gapic-generator-java/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.google.api gapic-generator-java - 2.51.1 + 2.51.2-SNAPSHOT GAPIC Generator Java GAPIC generator Java @@ -22,7 +22,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../gapic-generator-java-pom-parent @@ -31,7 +31,7 @@ com.google.api gapic-generator-java-bom - 2.51.1 + 2.51.2-SNAPSHOT pom import diff --git a/gax-java/dependencies.properties b/gax-java/dependencies.properties index 5647d0022c..0db2914469 100644 --- a/gax-java/dependencies.properties +++ b/gax-java/dependencies.properties @@ -8,16 +8,16 @@ # Versions of oneself # {x-version-update-start:gax:current} -version.gax=2.59.1 +version.gax=2.59.2-SNAPSHOT # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_grpc=2.59.1 +version.gax_grpc=2.59.2-SNAPSHOT # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_bom=2.59.1 +version.gax_bom=2.59.2-SNAPSHOT # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_httpjson=2.59.1 +version.gax_httpjson=2.59.2-SNAPSHOT # {x-version-update-end} # Versions for dependencies which actual artifacts differ between Bazel and Gradle. diff --git a/gax-java/gax-bom/pom.xml b/gax-java/gax-bom/pom.xml index 5b72172a6a..c4eaf987b5 100644 --- a/gax-java/gax-bom/pom.xml +++ b/gax-java/gax-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.api gax-bom - 2.59.1 + 2.59.2-SNAPSHOT pom GAX (Google Api eXtensions) for Java (BOM) Google Api eXtensions for Java (BOM) @@ -43,55 +43,55 @@ com.google.api gax - 2.59.1 + 2.59.2-SNAPSHOT com.google.api gax - 2.59.1 + 2.59.2-SNAPSHOT test-jar testlib com.google.api gax - 2.59.1 + 2.59.2-SNAPSHOT testlib com.google.api gax-grpc - 2.59.1 + 2.59.2-SNAPSHOT com.google.api gax-grpc - 2.59.1 + 2.59.2-SNAPSHOT test-jar testlib com.google.api gax-grpc - 2.59.1 + 2.59.2-SNAPSHOT testlib com.google.api gax-httpjson - 2.59.1 + 2.59.2-SNAPSHOT com.google.api gax-httpjson - 2.59.1 + 2.59.2-SNAPSHOT test-jar testlib com.google.api gax-httpjson - 2.59.1 + 2.59.2-SNAPSHOT testlib diff --git a/gax-java/gax-grpc/pom.xml b/gax-java/gax-grpc/pom.xml index 1f919f66fc..61379ae8aa 100644 --- a/gax-java/gax-grpc/pom.xml +++ b/gax-java/gax-grpc/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax-grpc - 2.59.1 + 2.59.2-SNAPSHOT jar GAX (Google Api eXtensions) for Java (gRPC) Google Api eXtensions for Java (gRPC) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.59.1 + 2.59.2-SNAPSHOT diff --git a/gax-java/gax-httpjson/pom.xml b/gax-java/gax-httpjson/pom.xml index 736f790e6b..6165dd44b5 100644 --- a/gax-java/gax-httpjson/pom.xml +++ b/gax-java/gax-httpjson/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax-httpjson - 2.59.1 + 2.59.2-SNAPSHOT jar GAX (Google Api eXtensions) for Java (HTTP JSON) Google Api eXtensions for Java (HTTP JSON) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.59.1 + 2.59.2-SNAPSHOT diff --git a/gax-java/gax/pom.xml b/gax-java/gax/pom.xml index 287a78305f..97bb76c50b 100644 --- a/gax-java/gax/pom.xml +++ b/gax-java/gax/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax - 2.59.1 + 2.59.2-SNAPSHOT jar GAX (Google Api eXtensions) for Java (Core) Google Api eXtensions for Java (Core) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.59.1 + 2.59.2-SNAPSHOT diff --git a/gax-java/pom.xml b/gax-java/pom.xml index c3ed07ca98..542592254a 100644 --- a/gax-java/pom.xml +++ b/gax-java/pom.xml @@ -4,14 +4,14 @@ com.google.api gax-parent pom - 2.59.1 + 2.59.2-SNAPSHOT GAX (Google Api eXtensions) for Java (Parent) Google Api eXtensions for Java (Parent) com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../gapic-generator-java-pom-parent @@ -50,7 +50,7 @@ com.google.api api-common - 2.42.1 + 2.42.2-SNAPSHOT com.google.auth @@ -98,24 +98,24 @@ com.google.api gax - 2.59.1 + 2.59.2-SNAPSHOT com.google.api gax - 2.59.1 + 2.59.2-SNAPSHOT test-jar testlib com.google.api.grpc proto-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT com.google.api.grpc grpc-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT io.grpc diff --git a/java-common-protos/grpc-google-common-protos/pom.xml b/java-common-protos/grpc-google-common-protos/pom.xml index 22e9007e5f..feef3c1f3b 100644 --- a/java-common-protos/grpc-google-common-protos/pom.xml +++ b/java-common-protos/grpc-google-common-protos/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT grpc-google-common-protos GRPC library for grpc-google-common-protos com.google.api.grpc google-common-protos-parent - 2.50.1 + 2.50.2-SNAPSHOT diff --git a/java-common-protos/pom.xml b/java-common-protos/pom.xml index 15ffb7ea8b..230a4d2888 100644 --- a/java-common-protos/pom.xml +++ b/java-common-protos/pom.xml @@ -4,7 +4,7 @@ com.google.api.grpc google-common-protos-parent pom - 2.50.1 + 2.50.2-SNAPSHOT Google Common Protos Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../gapic-generator-java-pom-parent @@ -51,7 +51,7 @@ com.google.cloud third-party-dependencies - 3.41.1 + 3.41.2-SNAPSHOT pom import @@ -65,7 +65,7 @@ com.google.api.grpc grpc-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT io.grpc @@ -77,7 +77,7 @@ com.google.api.grpc proto-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT com.google.guava diff --git a/java-common-protos/proto-google-common-protos/pom.xml b/java-common-protos/proto-google-common-protos/pom.xml index 6e7c48b6f6..abc6bd36fa 100644 --- a/java-common-protos/proto-google-common-protos/pom.xml +++ b/java-common-protos/proto-google-common-protos/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT proto-google-common-protos PROTO library for proto-google-common-protos com.google.api.grpc google-common-protos-parent - 2.50.1 + 2.50.2-SNAPSHOT diff --git a/java-core/google-cloud-core-bom/pom.xml b/java-core/google-cloud-core-bom/pom.xml index 84c92ff33f..0a7e7924c7 100644 --- a/java-core/google-cloud-core-bom/pom.xml +++ b/java-core/google-cloud-core-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-core-bom - 2.49.1 + 2.49.2-SNAPSHOT pom com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../../gapic-generator-java-pom-parent @@ -23,17 +23,17 @@ com.google.cloud google-cloud-core - 2.49.1 + 2.49.2-SNAPSHOT com.google.cloud google-cloud-core-grpc - 2.49.1 + 2.49.2-SNAPSHOT com.google.cloud google-cloud-core-http - 2.49.1 + 2.49.2-SNAPSHOT diff --git a/java-core/google-cloud-core-grpc/pom.xml b/java-core/google-cloud-core-grpc/pom.xml index 4668a71058..0102817044 100644 --- a/java-core/google-cloud-core-grpc/pom.xml +++ b/java-core/google-cloud-core-grpc/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core-grpc - 2.49.1 + 2.49.2-SNAPSHOT jar Google Cloud Core gRPC @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.49.1 + 2.49.2-SNAPSHOT google-cloud-core-grpc diff --git a/java-core/google-cloud-core-http/pom.xml b/java-core/google-cloud-core-http/pom.xml index eac7518caa..e19acbb1ff 100644 --- a/java-core/google-cloud-core-http/pom.xml +++ b/java-core/google-cloud-core-http/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core-http - 2.49.1 + 2.49.2-SNAPSHOT jar Google Cloud Core HTTP @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.49.1 + 2.49.2-SNAPSHOT google-cloud-core-http diff --git a/java-core/google-cloud-core/pom.xml b/java-core/google-cloud-core/pom.xml index db6e114ca6..e54b6ec75a 100644 --- a/java-core/google-cloud-core/pom.xml +++ b/java-core/google-cloud-core/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core - 2.49.1 + 2.49.2-SNAPSHOT jar Google Cloud Core @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.49.1 + 2.49.2-SNAPSHOT google-cloud-core diff --git a/java-core/pom.xml b/java-core/pom.xml index 071e72b0cd..d0b8bbc45e 100644 --- a/java-core/pom.xml +++ b/java-core/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-core-parent pom - 2.49.1 + 2.49.2-SNAPSHOT Google Cloud Core Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../gapic-generator-java-pom-parent @@ -33,7 +33,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.41.1 + 3.41.2-SNAPSHOT pom import diff --git a/java-iam/grpc-google-iam-v1/pom.xml b/java-iam/grpc-google-iam-v1/pom.xml index 06d16b5190..2f3977600c 100644 --- a/java-iam/grpc-google-iam-v1/pom.xml +++ b/java-iam/grpc-google-iam-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v1 - 1.45.1 + 1.45.2-SNAPSHOT grpc-google-iam-v1 GRPC library for grpc-google-iam-v1 com.google.cloud google-iam-parent - 1.45.1 + 1.45.2-SNAPSHOT diff --git a/java-iam/grpc-google-iam-v2/pom.xml b/java-iam/grpc-google-iam-v2/pom.xml index 807e3b60ce..53fc4d19c0 100644 --- a/java-iam/grpc-google-iam-v2/pom.xml +++ b/java-iam/grpc-google-iam-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v2 - 1.45.1 + 1.45.2-SNAPSHOT grpc-google-iam-v2 GRPC library for proto-google-iam-v2 com.google.cloud google-iam-parent - 1.45.1 + 1.45.2-SNAPSHOT diff --git a/java-iam/grpc-google-iam-v2beta/pom.xml b/java-iam/grpc-google-iam-v2beta/pom.xml index 77651b0fc3..e562c4c9cc 100644 --- a/java-iam/grpc-google-iam-v2beta/pom.xml +++ b/java-iam/grpc-google-iam-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v2beta - 1.45.1 + 1.45.2-SNAPSHOT grpc-google-iam-v2beta GRPC library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.45.1 + 1.45.2-SNAPSHOT diff --git a/java-iam/pom.xml b/java-iam/pom.xml index cbf7b3889f..27f518f13b 100644 --- a/java-iam/pom.xml +++ b/java-iam/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-iam-parent pom - 1.45.1 + 1.45.2-SNAPSHOT Google IAM Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../gapic-generator-java-pom-parent @@ -50,7 +50,7 @@ com.google.cloud third-party-dependencies - 3.41.1 + 3.41.2-SNAPSHOT pom import @@ -78,44 +78,44 @@ com.google.api gax-bom - 2.59.1 + 2.59.2-SNAPSHOT pom import com.google.api.grpc proto-google-iam-v2 - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc grpc-google-iam-v2 - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc proto-google-common-protos - 2.50.1 + 2.50.2-SNAPSHOT com.google.api.grpc proto-google-iam-v2beta - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc grpc-google-iam-v1 - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc grpc-google-iam-v2beta - 1.45.1 + 1.45.2-SNAPSHOT com.google.api.grpc proto-google-iam-v1 - 1.45.1 + 1.45.2-SNAPSHOT javax.annotation diff --git a/java-iam/proto-google-iam-v1/pom.xml b/java-iam/proto-google-iam-v1/pom.xml index 68015e3ec6..a79e770882 100644 --- a/java-iam/proto-google-iam-v1/pom.xml +++ b/java-iam/proto-google-iam-v1/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v1 - 1.45.1 + 1.45.2-SNAPSHOT proto-google-iam-v1 PROTO library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.45.1 + 1.45.2-SNAPSHOT diff --git a/java-iam/proto-google-iam-v2/pom.xml b/java-iam/proto-google-iam-v2/pom.xml index a888ac6092..732ed22bf6 100644 --- a/java-iam/proto-google-iam-v2/pom.xml +++ b/java-iam/proto-google-iam-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v2 - 1.45.1 + 1.45.2-SNAPSHOT proto-google-iam-v2 Proto library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.45.1 + 1.45.2-SNAPSHOT diff --git a/java-iam/proto-google-iam-v2beta/pom.xml b/java-iam/proto-google-iam-v2beta/pom.xml index e42fd85152..864a29a7ff 100644 --- a/java-iam/proto-google-iam-v2beta/pom.xml +++ b/java-iam/proto-google-iam-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v2beta - 1.45.1 + 1.45.2-SNAPSHOT proto-google-iam-v2beta Proto library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.45.1 + 1.45.2-SNAPSHOT diff --git a/java-shared-dependencies/dependency-convergence-check/pom.xml b/java-shared-dependencies/dependency-convergence-check/pom.xml index f1f1fa8eff..3485c8b083 100644 --- a/java-shared-dependencies/dependency-convergence-check/pom.xml +++ b/java-shared-dependencies/dependency-convergence-check/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud shared-dependencies-dependency-convergence-test - 3.41.1 + 3.41.2-SNAPSHOT Dependency convergence test for certain artifacts in Google Cloud Shared Dependencies An dependency convergence test case for the shared dependencies BOM. A failure of this test case means diff --git a/java-shared-dependencies/first-party-dependencies/pom.xml b/java-shared-dependencies/first-party-dependencies/pom.xml index aeada96ec1..c99fb860dc 100644 --- a/java-shared-dependencies/first-party-dependencies/pom.xml +++ b/java-shared-dependencies/first-party-dependencies/pom.xml @@ -6,7 +6,7 @@ com.google.cloud first-party-dependencies pom - 3.41.1 + 3.41.2-SNAPSHOT Google Cloud First-party Shared Dependencies Shared first-party dependencies for Google Cloud Java libraries. @@ -33,7 +33,7 @@ com.google.api gapic-generator-java-bom - 2.51.1 + 2.51.2-SNAPSHOT pom import @@ -45,7 +45,7 @@ com.google.cloud google-cloud-core-bom - 2.49.1 + 2.49.2-SNAPSHOT pom import @@ -69,13 +69,13 @@ com.google.cloud google-cloud-core - 2.49.1 + 2.49.2-SNAPSHOT test-jar com.google.cloud google-cloud-core - 2.49.1 + 2.49.2-SNAPSHOT tests diff --git a/java-shared-dependencies/pom.xml b/java-shared-dependencies/pom.xml index 790d58dac1..7767bbd92c 100644 --- a/java-shared-dependencies/pom.xml +++ b/java-shared-dependencies/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-shared-dependencies pom - 3.41.1 + 3.41.2-SNAPSHOT first-party-dependencies third-party-dependencies @@ -17,7 +17,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../gapic-generator-java-pom-parent @@ -31,14 +31,14 @@ com.google.cloud first-party-dependencies - 3.41.1 + 3.41.2-SNAPSHOT pom import com.google.cloud third-party-dependencies - 3.41.1 + 3.41.2-SNAPSHOT pom import diff --git a/java-shared-dependencies/third-party-dependencies/pom.xml b/java-shared-dependencies/third-party-dependencies/pom.xml index b3e3c6a491..65208372da 100644 --- a/java-shared-dependencies/third-party-dependencies/pom.xml +++ b/java-shared-dependencies/third-party-dependencies/pom.xml @@ -6,7 +6,7 @@ com.google.cloud third-party-dependencies pom - 3.41.1 + 3.41.2-SNAPSHOT Google Cloud Third-party Shared Dependencies Shared third-party dependencies for Google Cloud Java libraries. @@ -15,7 +15,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.1 + 2.51.2-SNAPSHOT ../../gapic-generator-java-pom-parent diff --git a/java-shared-dependencies/upper-bound-check/pom.xml b/java-shared-dependencies/upper-bound-check/pom.xml index 150264bc4b..9af535e953 100644 --- a/java-shared-dependencies/upper-bound-check/pom.xml +++ b/java-shared-dependencies/upper-bound-check/pom.xml @@ -4,7 +4,7 @@ com.google.cloud shared-dependencies-upper-bound-test pom - 3.41.1 + 3.41.2-SNAPSHOT Upper bound test for Google Cloud Shared Dependencies An upper bound test case for the shared dependencies BOM. A failure of this test case means @@ -30,7 +30,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.41.1 + 3.41.2-SNAPSHOT pom import diff --git a/sdk-platform-java-config/pom.xml b/sdk-platform-java-config/pom.xml index 258f5a856b..425af90be9 100644 --- a/sdk-platform-java-config/pom.xml +++ b/sdk-platform-java-config/pom.xml @@ -4,7 +4,7 @@ com.google.cloud sdk-platform-java-config pom - 3.41.1 + 3.41.2-SNAPSHOT SDK Platform For Java Configurations Shared build configuration for Google Cloud Java libraries. @@ -17,6 +17,6 @@ - 3.41.1 + 3.41.2-SNAPSHOT \ No newline at end of file diff --git a/showcase/pom.xml b/showcase/pom.xml index ee1acd4bb2..f333743d27 100644 --- a/showcase/pom.xml +++ b/showcase/pom.xml @@ -34,7 +34,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.41.1 + 3.41.2-SNAPSHOT pom import diff --git a/versions.txt b/versions.txt index 9ad76bddc0..739174c4ff 100644 --- a/versions.txt +++ b/versions.txt @@ -1,19 +1,19 @@ # Format: # module:released-version:current-version -gapic-generator-java:2.51.1:2.51.1 -api-common:2.42.1:2.42.1 -gax:2.59.1:2.59.1 -gax-grpc:2.59.1:2.59.1 -gax-httpjson:0.144.1:0.144.1 -proto-google-common-protos:2.50.1:2.50.1 -grpc-google-common-protos:2.50.1:2.50.1 -proto-google-iam-v1:1.45.1:1.45.1 -grpc-google-iam-v1:1.45.1:1.45.1 -proto-google-iam-v2beta:1.45.1:1.45.1 -grpc-google-iam-v2beta:1.45.1:1.45.1 -google-iam-policy:1.45.1:1.45.1 -proto-google-iam-v2:1.45.1:1.45.1 -grpc-google-iam-v2:1.45.1:1.45.1 -google-cloud-core:2.49.1:2.49.1 -google-cloud-shared-dependencies:3.41.1:3.41.1 +gapic-generator-java:2.51.1:2.51.2-SNAPSHOT +api-common:2.42.1:2.42.2-SNAPSHOT +gax:2.59.1:2.59.2-SNAPSHOT +gax-grpc:2.59.1:2.59.2-SNAPSHOT +gax-httpjson:0.144.1:0.144.2-SNAPSHOT +proto-google-common-protos:2.50.1:2.50.2-SNAPSHOT +grpc-google-common-protos:2.50.1:2.50.2-SNAPSHOT +proto-google-iam-v1:1.45.1:1.45.2-SNAPSHOT +grpc-google-iam-v1:1.45.1:1.45.2-SNAPSHOT +proto-google-iam-v2beta:1.45.1:1.45.2-SNAPSHOT +grpc-google-iam-v2beta:1.45.1:1.45.2-SNAPSHOT +google-iam-policy:1.45.1:1.45.2-SNAPSHOT +proto-google-iam-v2:1.45.1:1.45.2-SNAPSHOT +grpc-google-iam-v2:1.45.1:1.45.2-SNAPSHOT +google-cloud-core:2.49.1:2.49.2-SNAPSHOT +google-cloud-shared-dependencies:3.41.1:3.41.2-SNAPSHOT From afec9709e57abb52d44772b7e955a2dde917d7bc Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Mon, 20 Jan 2025 11:12:58 -0500 Subject: [PATCH 05/24] chore: add jdk 23 job for showcase tests (#3571) We also remove showcase-native because it's already being [tested in Cloud Build](https://www.google.com/url?q=https://github.com/googleapis/sdk-platform-java/blob/09d9708dec7ef82f7d269c6285a9588dec48ac5d/.cloudbuild/graalvm/cloudbuild-test-a.yaml%23L45&sa=D&source=docs&ust=1737144190134588&usg=AOvVaw0VT7f-vqeGpoSEAKvWhwg9) --- .github/workflows/ci.yaml | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5bfe04b7b6..a6d335eccd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -214,7 +214,7 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - java: [ 11, 17, 21 ] + java: [ 11, 17, 21, 23 ] steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 @@ -256,36 +256,6 @@ jobs: --batch-mode \ --no-transfer-progress - showcase-native: - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - uses: graalvm/setup-graalvm@v1 - with: - version: '22.3.2' - java-version: '17' - components: 'native-image' - github-token: ${{ secrets.GITHUB_TOKEN }} - - run: mvn -version - - run: native-image --version - - name: Install sdk-platform-java - run: mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip - - name: Parse showcase version - working-directory: showcase/gapic-showcase - run: echo "SHOWCASE_VERSION=$(mvn help:evaluate -Dexpression=gapic-showcase.version -q -DforceStdout)" >> "$GITHUB_ENV" - - name: Install showcase server - run: | - sudo mkdir -p /usr/src/showcase - sudo chown -R ${USER} /usr/src/ - curl --location https://github.com/googleapis/gapic-showcase/releases/download/v${{env.SHOWCASE_VERSION}}/gapic-showcase-${{env.SHOWCASE_VERSION}}-linux-amd64.tar.gz --output /usr/src/showcase/showcase-${{env.SHOWCASE_VERSION}}-linux-amd64.tar.gz - cd /usr/src/showcase/ - tar -xf showcase-* - ./gapic-showcase run & - cd - - - name: Build native image - working-directory: showcase - run: mvn test -Pnative,-showcase -ntp -B - showcase-clirr: if: ${{ github.base_ref != '' }} # Only execute on pull_request trigger event runs-on: ubuntu-22.04 From 38431a290ed55174599be0927be32daaa1c49d56 Mon Sep 17 00:00:00 2001 From: Riya Mehta <55350838+rmehta19@users.noreply.github.com> Date: Wed, 22 Jan 2025 13:00:26 -0800 Subject: [PATCH 06/24] feat: add support for new setAllowHardBoundTokens field. (#3467) Introduce new `setAllowHardBoundTokens` field. --- .../InstantiatingGrpcChannelProvider.java | 33 +++++++++++++++++++ .../InstantiatingGrpcChannelProviderTest.java | 5 +++ 2 files changed, 38 insertions(+) diff --git a/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java b/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java index ae4d7f9e51..4cdeb8d74f 100644 --- a/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java +++ b/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java @@ -126,16 +126,35 @@ public final class InstantiatingGrpcChannelProvider implements TransportChannelP @Nullable private final Boolean allowNonDefaultServiceAccount; @VisibleForTesting final ImmutableMap directPathServiceConfig; @Nullable private final MtlsProvider mtlsProvider; + @Nullable private final List allowedHardBoundTokenTypes; @VisibleForTesting final Map headersWithDuplicatesRemoved = new HashMap<>(); @Nullable private final ApiFunction channelConfigurator; + /* + * Experimental feature + * + *

{@link HardBoundTokenTypes} specifies if hard bound tokens should be used if DirectPath + * or S2A is used to estabilsh a connection to Google APIs. + * + */ + @InternalApi + public enum HardBoundTokenTypes { + // If DirectPath is used to create the channel, use hard ALTS-bound tokens for requests sent on + // that channel. + ALTS, + // If MTLS via S2A is used to create the channel, use hard MTLS-bound tokens for requests sent + // on that channel. + MTLS_S2A + } + private InstantiatingGrpcChannelProvider(Builder builder) { this.processorCount = builder.processorCount; this.executor = builder.executor; this.headerProvider = builder.headerProvider; this.endpoint = builder.endpoint; + this.allowedHardBoundTokenTypes = builder.allowedHardBoundTokenTypes; this.mtlsProvider = builder.mtlsProvider; this.envProvider = builder.envProvider; this.interceptorProvider = builder.interceptorProvider; @@ -620,6 +639,7 @@ public static final class Builder { @Nullable private Boolean attemptDirectPathXds; @Nullable private Boolean allowNonDefaultServiceAccount; @Nullable private ImmutableMap directPathServiceConfig; + @Nullable private List allowedHardBoundTokenTypes; private Builder() { processorCount = Runtime.getRuntime().availableProcessors(); @@ -700,6 +720,19 @@ public Builder setEndpoint(String endpoint) { return this; } + /* + * Sets the allowed hard bound token types for this TransportChannelProvider. + * + *

The list of + * {@link HardBoundTokenTypes} indicates for which methods of connecting to Google APIs hard bound tokens should + * be used. This is optional; if it is not provided, bearer tokens will be used. + */ + @InternalApi + public Builder setAllowHardBoundTokenTypes(List allowedValues) { + this.allowedHardBoundTokenTypes = allowedValues; + return this; + } + @VisibleForTesting Builder setMtlsProvider(MtlsProvider mtlsProvider) { this.mtlsProvider = mtlsProvider; diff --git a/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java b/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java index a58f9b8173..6ec9317ab9 100644 --- a/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java +++ b/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java @@ -225,6 +225,10 @@ void testToBuilder() { throw new UnsupportedOperationException(); }; Map directPathServiceConfig = ImmutableMap.of("loadbalancingConfig", "grpclb"); + List hardBoundTokenTypes = + new ArrayList<>(); + hardBoundTokenTypes.add(InstantiatingGrpcChannelProvider.HardBoundTokenTypes.ALTS); + hardBoundTokenTypes.add(InstantiatingGrpcChannelProvider.HardBoundTokenTypes.MTLS_S2A); InstantiatingGrpcChannelProvider provider = InstantiatingGrpcChannelProvider.newBuilder() @@ -238,6 +242,7 @@ void testToBuilder() { .setChannelConfigurator(channelConfigurator) .setChannelsPerCpu(2.5) .setDirectPathServiceConfig(directPathServiceConfig) + .setAllowHardBoundTokenTypes(hardBoundTokenTypes) .build(); InstantiatingGrpcChannelProvider.Builder builder = provider.toBuilder(); From b99d97cbde49b684ebdace2f3c1b1f20a996af0d Mon Sep 17 00:00:00 2001 From: cloud-java-bot <122572305+cloud-java-bot@users.noreply.github.com> Date: Thu, 23 Jan 2025 10:51:33 -0500 Subject: [PATCH 07/24] chore: update googleapis commit at Wed Jan 8 02:25:47 UTC 2025 (#3564) chore: update googleapis commit at Wed Jan 8 02:25:47 UTC 2025 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 58f847ab87..5f8cf288b1 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,4 +1,4 @@ -googleapis_commitish: 3cef095370b3176f67542e527ffde81e019df091 +googleapis_commitish: 1a0e353ac4a372cf7016df4ce0a7d7e609f339b3 # the libraries are ordered with respect to library name, which is # java-{library.library_name} or java-{library.api-shortname} when # library.library_name is not defined. From 69547bc75a3cc3d7bb48cea55ab99ed480e36864 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Jan 2025 13:48:15 -0500 Subject: [PATCH 08/24] build(deps): bump jinja2 from 3.1.4 to 3.1.5 in /hermetic_build/library_generation (#3549) Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.

Release notes

Sourced from jinja2's releases.

3.1.5

This is the Jinja 3.1.5 security fix release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.

PyPI: https://pypi.org/project/Jinja2/3.1.5/ Changes: https://jinja.palletsprojects.com/changes/#version-3-1-5 Milestone: https://github.com/pallets/jinja/milestone/16?closed=1

  • The sandboxed environment handles indirect calls to str.format, such as by passing a stored reference to a filter that calls its argument. GHSA-q2x7-8rv6-6q7h
  • Escape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. #1792, GHSA-gmj6-6f8f-6699
  • Sandbox does not allow clear and pop on known mutable sequence types. #2032
  • Calling sync render for an async template uses asyncio.run. #1952
  • Avoid unclosed auto_aiter warnings. #1960
  • Return an aclose-able AsyncGenerator from Template.generate_async. #1960
  • Avoid leaving root_render_func() unclosed in Template.generate_async. #1960
  • Avoid leaving async generators unclosed in blocks, includes and extends. #1960
  • The runtime uses the correct concat function for the current environment when calling block references. #1701
  • Make |unique async-aware, allowing it to be used after another async-aware filter. #1781
  • |int filter handles OverflowError from scientific notation. #1921
  • Make compiling deterministic for tuple unpacking in a {% set ... %} call. #2021
  • Fix dunder protocol (copy/pickle/etc) interaction with Undefined objects. #2025
  • Fix copy/pickle support for the internal missing object. #2027
  • Environment.overlay(enable_async) is applied correctly. #2061
  • The error message from FileSystemLoader includes the paths that were searched. #1661
  • PackageLoader shows a clearer error message when the package does not contain the templates directory. #1705
  • Improve annotations for methods returning copies. #1880
  • urlize does not add mailto: to values like @a@b. #1870
  • Tests decorated with @pass_context can be used with the |select filter. #1624
  • Using set for multiple assignment (a, b = 1, 2) does not fail when the target is a namespace attribute. #1413
  • Using set in all branches of {% if %}{% elif %}{% else %} blocks does not cause the variable to be considered initially undefined. #1253
Changelog

Sourced from jinja2's changelog.

Version 3.1.5

Released 2024-12-21

  • The sandboxed environment handles indirect calls to str.format, such as by passing a stored reference to a filter that calls its argument. :ghsa:q2x7-8rv6-6q7h
  • Escape template name before formatting it into error messages, to avoid issues with names that contain f-string syntax. :issue:1792, :ghsa:gmj6-6f8f-6699
  • Sandbox does not allow clear and pop on known mutable sequence types. :issue:2032
  • Calling sync render for an async template uses asyncio.run. :pr:1952
  • Avoid unclosed auto_aiter warnings. :pr:1960
  • Return an aclose-able AsyncGenerator from Template.generate_async. :pr:1960
  • Avoid leaving root_render_func() unclosed in Template.generate_async. :pr:1960
  • Avoid leaving async generators unclosed in blocks, includes and extends. :pr:1960
  • The runtime uses the correct concat function for the current environment when calling block references. :issue:1701
  • Make |unique async-aware, allowing it to be used after another async-aware filter. :issue:1781
  • |int filter handles OverflowError from scientific notation. :issue:1921
  • Make compiling deterministic for tuple unpacking in a {% set ... %} call. :issue:2021
  • Fix dunder protocol (copy/pickle/etc) interaction with Undefined objects. :issue:2025
  • Fix copy/pickle support for the internal missing object. :issue:2027
  • Environment.overlay(enable_async) is applied correctly. :pr:2061
  • The error message from FileSystemLoader includes the paths that were searched. :issue:1661
  • PackageLoader shows a clearer error message when the package does not contain the templates directory. :issue:1705
  • Improve annotations for methods returning copies. :pr:1880
  • urlize does not add mailto: to values like @a@b. :pr:1870
  • Tests decorated with @pass_context`` can be used with the ``|select`` filter. :issue:1624`
  • Using set for multiple assignment (a, b = 1, 2) does not fail when the target is a namespace attribute. :issue:1413
  • Using set in all branches of {% if %}{% elif %}{% else %} blocks does not cause the variable to be considered initially undefined. :issue:1253
Commits
  • 877f6e5 release version 3.1.5
  • 8d58859 remove test pypi
  • eda8fe8 update dev dependencies
  • c8fdce1 Fix bug involving calling set on a template parameter within all branches of ...
  • 66587ce Fix bug where set would sometimes fail within if
  • fbc3a69 Add support for namespaces in tuple parsing (#1664)
  • b8f4831 more comments about nsref assignment
  • ee83219 Add support for namespaces in tuple assignment
  • 1d55cdd Triple quotes in docs (#2064)
  • 8a8eafc edit block assignment section
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jinja2&package-manager=pip&previous-version=3.1.4&new-version=3.1.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/googleapis/sdk-platform-java/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Diego Marquez --- .../library_generation/requirements.in | 2 +- .../library_generation/requirements.txt | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/hermetic_build/library_generation/requirements.in b/hermetic_build/library_generation/requirements.in index 9eef0bbd74..4d91f5b7fa 100644 --- a/hermetic_build/library_generation/requirements.in +++ b/hermetic_build/library_generation/requirements.in @@ -1,5 +1,5 @@ attrs==24.2.0 click==8.1.7 -jinja2==3.1.4 +jinja2==3.1.5 lxml==5.3.0 PyYAML==6.0.2 \ No newline at end of file diff --git a/hermetic_build/library_generation/requirements.txt b/hermetic_build/library_generation/requirements.txt index 4edb128302..4f0b1c3f43 100644 --- a/hermetic_build/library_generation/requirements.txt +++ b/hermetic_build/library_generation/requirements.txt @@ -7,15 +7,15 @@ attrs==24.2.0 \ --hash=sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346 \ --hash=sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2 - # via -r hermetic_build/library_generation/requirements.in + # via -r requirements.in click==8.1.7 \ --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de - # via -r hermetic_build/library_generation/requirements.in -jinja2==3.1.4 \ - --hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 \ - --hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d - # via -r hermetic_build/library_generation/requirements.in + # via -r requirements.in +jinja2==3.1.5 \ + --hash=sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb \ + --hash=sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb + # via -r requirements.in lxml==5.3.0 \ --hash=sha256:01220dca0d066d1349bd6a1726856a78f7929f3878f7e2ee83c296c69495309e \ --hash=sha256:02ced472497b8362c8e902ade23e3300479f4f43e45f4105c85ef43b8db85229 \ @@ -155,7 +155,7 @@ lxml==5.3.0 \ --hash=sha256:f7d4a670107d75dfe5ad080bed6c341d18c4442f9378c9f58e5851e86eb79965 \ --hash=sha256:f914c03e6a31deb632e2daa881fe198461f4d06e57ac3d0e05bbcab8eae01945 \ --hash=sha256:fb66442c2546446944437df74379e9cf9e9db353e61301d1a0e26482f43f0dd8 - # via -r hermetic_build/library_generation/requirements.in + # via -r requirements.in markupsafe==3.0.2 \ --hash=sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4 \ --hash=sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30 \ @@ -273,4 +273,4 @@ pyyaml==6.0.2 \ --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 - # via -r hermetic_build/library_generation/requirements.in + # via -r requirements.in From edd5a4c04db6b16cb005301d4dbcd3f8c28b7537 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 20:21:04 +0100 Subject: [PATCH 09/24] deps: update docker.io/library/alpine docker tag to v3.21.1 (#3551) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | docker.io/library/alpine | stage | patch | `3.21.0` -> `3.21.1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). Co-authored-by: Min Zhu --- .cloudbuild/library_generation/library_generation.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cloudbuild/library_generation/library_generation.Dockerfile b/.cloudbuild/library_generation/library_generation.Dockerfile index 60ce8aa47c..9c896c529b 100644 --- a/.cloudbuild/library_generation/library_generation.Dockerfile +++ b/.cloudbuild/library_generation/library_generation.Dockerfile @@ -27,7 +27,7 @@ RUN mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip RUN cp "/root/.m2/repository/com/google/api/gapic-generator-java/${DOCKER_GAPIC_GENERATOR_VERSION}/gapic-generator-java-${DOCKER_GAPIC_GENERATOR_VERSION}.jar" \ "./gapic-generator-java.jar" -FROM docker.io/library/alpine:3.21.0@sha256:21dc6063fd678b478f57c0e13f47560d0ea4eeba26dfc947b2a4f81f686b9f45 as glibc-compat +FROM docker.io/library/alpine:3.21.1@sha256:b97e2a89d0b9e4011bb88c02ddf01c544b8c781acf1f4d559e7c8f12f1047ac3 as glibc-compat RUN apk add git sudo # This SHA is the latest known-to-work version of this binary compatibility tool From 40a74fe322b9cc4fc50919e17472c617dd331e86 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 21:07:44 +0100 Subject: [PATCH 10/24] deps: update docker.io/library/python:3.13.1-alpine3.20 docker digest to 9ab3b6e (#3555) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | docker.io/library/python | final | digest | `804ad02` -> `9ab3b6e` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). Co-authored-by: Diego Marquez --- .cloudbuild/library_generation/library_generation.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cloudbuild/library_generation/library_generation.Dockerfile b/.cloudbuild/library_generation/library_generation.Dockerfile index 9c896c529b..f6a8e001de 100644 --- a/.cloudbuild/library_generation/library_generation.Dockerfile +++ b/.cloudbuild/library_generation/library_generation.Dockerfile @@ -47,7 +47,7 @@ RUN git checkout "${GLIB_MUS_SHA}" RUN chmod a+x compile-x86_64-alpine-linux.sh RUN sh compile-x86_64-alpine-linux.sh -FROM docker.io/library/python:3.13.1-alpine3.20@sha256:804ad02b9ba67ea1f8307eeb6407b121c6bd6bb19d3f182aae166821eb59d6a4 as final +FROM docker.io/library/python:3.13.1-alpine3.20@sha256:9ab3b6ef4afb7582afaa84e97d40a36f192595bb0578561c282cecc22a45de49 as final ARG OWLBOT_CLI_COMMITTISH=8b7d94b4a8ad0345aeefd6a7ec9c5afcbeb8e2d7 ARG PROTOC_VERSION=25.5 From eb2cbd6515ded9278ffd0dae92af80b321e95c25 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 21:07:55 +0100 Subject: [PATCH 11/24] deps: update docker.io/library/maven:3.9.9-eclipse-temurin-11-alpine docker digest to 9a259c6 (#3554) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | docker.io/library/maven | stage | digest | `3bab9f2` -> `9a259c6` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). Co-authored-by: Diego Marquez --- .cloudbuild/library_generation/library_generation.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cloudbuild/library_generation/library_generation.Dockerfile b/.cloudbuild/library_generation/library_generation.Dockerfile index f6a8e001de..eb472da2f7 100644 --- a/.cloudbuild/library_generation/library_generation.Dockerfile +++ b/.cloudbuild/library_generation/library_generation.Dockerfile @@ -15,7 +15,7 @@ # install gapic-generator-java in a separate layer so we don't overload the image # with the transferred source code and jars -FROM docker.io/library/maven:3.9.9-eclipse-temurin-11-alpine@sha256:3bab9f2cd4fa8704445bf01444e8e5e0f1ab819a41616069872a898b432a7309 AS ggj-build +FROM docker.io/library/maven:3.9.9-eclipse-temurin-11-alpine@sha256:9a259c69e57564f1d13f6f5b275e37c638c3103dc1978237e90b6d4d66bc9b0c AS ggj-build WORKDIR /sdk-platform-java COPY . . From e924db06590648ad40b5b3aa0f6269084270064b Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 21:09:18 +0100 Subject: [PATCH 12/24] deps: update dependency gitpython to v3.1.44 (#3559) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [gitpython](https://redirect.github.com/gitpython-developers/GitPython) | `==3.1.43` -> `==3.1.44` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/gitpython/3.1.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/gitpython/3.1.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/gitpython/3.1.43/3.1.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/gitpython/3.1.43/3.1.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
gitpython-developers/GitPython (gitpython) ### [`v3.1.44`](https://redirect.github.com/gitpython-developers/GitPython/releases/tag/3.1.44) [Compare Source](https://redirect.github.com/gitpython-developers/GitPython/compare/3.1.43...3.1.44) ##### What's Changed - Fix typo in \_get_exe_extensions PATHEXT fallback by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1890](https://redirect.github.com/gitpython-developers/GitPython/pull/1890) - Don't suppress pytest warning summaries by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1892](https://redirect.github.com/gitpython-developers/GitPython/pull/1892) - Update the comment about `--mixed` and paths by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1894](https://redirect.github.com/gitpython-developers/GitPython/pull/1894) - Fixed an error updating shallow submodules by [@​EduardTalanov](https://redirect.github.com/EduardTalanov) in [https://github.com/gitpython-developers/GitPython/pull/1899](https://redirect.github.com/gitpython-developers/GitPython/pull/1899) - Initial Migration of Fuzz Tests & Integration Scripts From the OSS-Fuzz Project Repo by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1901](https://redirect.github.com/gitpython-developers/GitPython/pull/1901) - Fuzzer Migration Follow-ups by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1903](https://redirect.github.com/gitpython-developers/GitPython/pull/1903) - Dockerize "Direct Execution of Fuzz Targets" by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1904](https://redirect.github.com/gitpython-developers/GitPython/pull/1904) - Fix Fuzzer Crash in ClusterFuzz Due to Missing Git Executable by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1906](https://redirect.github.com/gitpython-developers/GitPython/pull/1906) - Add GitPython's Standard License Header Comments to Shell Scripts by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1907](https://redirect.github.com/gitpython-developers/GitPython/pull/1907) - Fix `IndexError` in `GitConfigParser` When a Quoted Config Value Contains a Trailing New Line by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1908](https://redirect.github.com/gitpython-developers/GitPython/pull/1908) - Attempt 2 - Fix Missing Git Executable Causing ClusterFuzz Crash by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1909](https://redirect.github.com/gitpython-developers/GitPython/pull/1909) - Replace the Suboptimal `fuzz_tree.py` Harness With a Better Alternative by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1910](https://redirect.github.com/gitpython-developers/GitPython/pull/1910) - Add git.Blob Fuzz Target by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1911](https://redirect.github.com/gitpython-developers/GitPython/pull/1911) - lint: switch order Ruff's hooks `fix` -> `format` by [@​Borda](https://redirect.github.com/Borda) in [https://github.com/gitpython-developers/GitPython/pull/1912](https://redirect.github.com/gitpython-developers/GitPython/pull/1912) - Update OSS-Fuzz Scripts to Use New QA-Assets Repo Structure by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1913](https://redirect.github.com/gitpython-developers/GitPython/pull/1913) - Add `Diff` Fuzz Target by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1914](https://redirect.github.com/gitpython-developers/GitPython/pull/1914) - Instrument test utility functions to increase fuzzer efficiency by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1915](https://redirect.github.com/gitpython-developers/GitPython/pull/1915) - Add the `.git` subdir as another `safe.directory` on Cygwin CI by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1916](https://redirect.github.com/gitpython-developers/GitPython/pull/1916) - Bump Vampire/setup-wsl from 3.0.0 to 3.1.0 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/gitpython-developers/GitPython/pull/1917](https://redirect.github.com/gitpython-developers/GitPython/pull/1917) - Add Submodules Fuzz Target by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1919](https://redirect.github.com/gitpython-developers/GitPython/pull/1919) - Add graceful handling of expected exceptions in fuzz_submodule.py by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1922](https://redirect.github.com/gitpython-developers/GitPython/pull/1922) - precommit: enable `validate-pyproject` by [@​Borda](https://redirect.github.com/Borda) in [https://github.com/gitpython-developers/GitPython/pull/1921](https://redirect.github.com/gitpython-developers/GitPython/pull/1921) - typing fixes - DiffIndex generic type and IndexFile items by [@​Andrej730](https://redirect.github.com/Andrej730) in [https://github.com/gitpython-developers/GitPython/pull/1925](https://redirect.github.com/gitpython-developers/GitPython/pull/1925) - Fix Improper Import Order Breaking `fuzz_submodule` Fuzzer by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1926](https://redirect.github.com/gitpython-developers/GitPython/pull/1926) - Fix iter_change_type diff renamed property to prevent warning by [@​kamilkrzyskow](https://redirect.github.com/kamilkrzyskow) in [https://github.com/gitpython-developers/GitPython/pull/1918](https://redirect.github.com/gitpython-developers/GitPython/pull/1918) - fixed doc to not faulty do [#​1924](https://redirect.github.com/gitpython-developers/GitPython/issues/1924) by [@​zerothi](https://redirect.github.com/zerothi) in [https://github.com/gitpython-developers/GitPython/pull/1932](https://redirect.github.com/gitpython-developers/GitPython/pull/1932) - fix: fix incoherent beginning whitespace by [@​cardoeng](https://redirect.github.com/cardoeng) in [https://github.com/gitpython-developers/GitPython/pull/1933](https://redirect.github.com/gitpython-developers/GitPython/pull/1933) - Change aliases to work around mypy issue. by [@​PatrickMassot](https://redirect.github.com/PatrickMassot) in [https://github.com/gitpython-developers/GitPython/pull/1935](https://redirect.github.com/gitpython-developers/GitPython/pull/1935) - precommit: enable `end-of-file-fixer` by [@​Borda](https://redirect.github.com/Borda) in [https://github.com/gitpython-developers/GitPython/pull/1920](https://redirect.github.com/gitpython-developers/GitPython/pull/1920) - lint: add typos check by [@​Borda](https://redirect.github.com/Borda) in [https://github.com/gitpython-developers/GitPython/pull/1888](https://redirect.github.com/gitpython-developers/GitPython/pull/1888) - Add type of change to files_dict of a commit by [@​JonasScharpf](https://redirect.github.com/JonasScharpf) in [https://github.com/gitpython-developers/GitPython/pull/1943](https://redirect.github.com/gitpython-developers/GitPython/pull/1943) - Enable Python 3.8 and 3.9 on M1 runners by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1944](https://redirect.github.com/gitpython-developers/GitPython/pull/1944) - Use Alpine Linux in WSL on CI by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1945](https://redirect.github.com/gitpython-developers/GitPython/pull/1945) - Remove the non-ARM macOS CI jobs by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1946](https://redirect.github.com/gitpython-developers/GitPython/pull/1946) - Fix Several Bugs in the `fuzz_submodule` Causing a lot of False Alarms in the OSS-Fuzz Bug Tracker by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1950](https://redirect.github.com/gitpython-developers/GitPython/pull/1950) - Gracefully handle `PermissionError` exceptions that crash fuzzer by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1951](https://redirect.github.com/gitpython-developers/GitPython/pull/1951) - Fuzzing: Gracefully Handle Uninteresting Error to Fix OSS-Fuzz Issue by [@​DaveLak](https://redirect.github.com/DaveLak) in [https://github.com/gitpython-developers/GitPython/pull/1952](https://redirect.github.com/gitpython-developers/GitPython/pull/1952) - Update and adjust pre-commit hooks by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1953](https://redirect.github.com/gitpython-developers/GitPython/pull/1953) - Upgrade sphinx to ~7.1.2 by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1954](https://redirect.github.com/gitpython-developers/GitPython/pull/1954) - Don't support building documentation on Python 3.7 by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/GitPython/pull/1956](https://redirect.github.com/gitpython-developers/GitPython/pull/1956) - \_to_relative_path to support mixing slashes and backslashes by [@​Andrej730](https://redirect.github.com/Andrej730) in [https://github.com/gitpython-developers/GitPython/pull/1961](https://redirect.github.com/gitpython-developers/GitPython/pull/1961) - Update base.py by [@​alex20230721](https://redirect.github.com/alex20230721) in [https://github.com/gitpython-developers/GitPython/pull/1965](https://redirect.github.com/gitpython-developers/GitPython/pull/1965) - Fix Fetch progress bar by [@​fvalette-ledger](https://redirect.github.com/fvalette-ledger) in [https://github.com/gitpython-developers/GitPython/pull/1971](https://redirect.github.com/gitpython-developers/GitPython/pull/1971) ##### New Contributors - [@​EduardTalanov](https://redirect.github.com/EduardTalanov) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1899](https://redirect.github.com/gitpython-developers/GitPython/pull/1899) - [@​DaveLak](https://redirect.github.com/DaveLak) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1901](https://redirect.github.com/gitpython-developers/GitPython/pull/1901) - [@​Andrej730](https://redirect.github.com/Andrej730) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1925](https://redirect.github.com/gitpython-developers/GitPython/pull/1925) - [@​kamilkrzyskow](https://redirect.github.com/kamilkrzyskow) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1918](https://redirect.github.com/gitpython-developers/GitPython/pull/1918) - [@​zerothi](https://redirect.github.com/zerothi) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1932](https://redirect.github.com/gitpython-developers/GitPython/pull/1932) - [@​cardoeng](https://redirect.github.com/cardoeng) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1933](https://redirect.github.com/gitpython-developers/GitPython/pull/1933) - [@​PatrickMassot](https://redirect.github.com/PatrickMassot) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1935](https://redirect.github.com/gitpython-developers/GitPython/pull/1935) - [@​JonasScharpf](https://redirect.github.com/JonasScharpf) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1943](https://redirect.github.com/gitpython-developers/GitPython/pull/1943) - [@​alex20230721](https://redirect.github.com/alex20230721) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1965](https://redirect.github.com/gitpython-developers/GitPython/pull/1965) - [@​fvalette-ledger](https://redirect.github.com/fvalette-ledger) made their first contribution in [https://github.com/gitpython-developers/GitPython/pull/1971](https://redirect.github.com/gitpython-developers/GitPython/pull/1971) **Full Changelog**: https://github.com/gitpython-developers/GitPython/compare/3.1.43...3.1.44
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). Co-authored-by: Diego Marquez --- hermetic_build/common/requirements.txt | 6 +++--- hermetic_build/release_note_generation/requirements.txt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hermetic_build/common/requirements.txt b/hermetic_build/common/requirements.txt index ed6b65f69b..1573315c9a 100644 --- a/hermetic_build/common/requirements.txt +++ b/hermetic_build/common/requirements.txt @@ -36,9 +36,9 @@ gitdb==4.0.11 \ --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \ --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b # via gitpython -gitpython==3.1.43 \ - --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c \ - --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff +GitPython==3.1.44 \ + --hash=sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110 \ + --hash=sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269 # via -r hermetic_build/common/requirements.in mypy-extensions==1.0.0 \ --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d \ diff --git a/hermetic_build/release_note_generation/requirements.txt b/hermetic_build/release_note_generation/requirements.txt index 5032108ff9..1e36cb1053 100644 --- a/hermetic_build/release_note_generation/requirements.txt +++ b/hermetic_build/release_note_generation/requirements.txt @@ -12,9 +12,9 @@ gitdb==4.0.11 \ --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \ --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b # via gitpython -gitpython==3.1.43 \ - --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c \ - --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff +GitPython==3.1.44 \ + --hash=sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110 \ + --hash=sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269 # via -r hermetic_build/release_note_generation/requirements.in smmap==5.0.1 \ --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ From 6cd5d0dfa4c5cd981b2d27771ca4b681ef415c63 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 21:09:28 +0100 Subject: [PATCH 13/24] deps: update dependency smmap to v5.0.2 (#3561) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [smmap](https://redirect.github.com/gitpython-developers/smmap) | `==5.0.1` -> `==5.0.2` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/smmap/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/smmap/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/smmap/5.0.1/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/smmap/5.0.1/5.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
gitpython-developers/smmap (smmap) ### [`v5.0.2`](https://redirect.github.com/gitpython-developers/smmap/releases/tag/v5.0.2) [Compare Source](https://redirect.github.com/gitpython-developers/smmap/compare/v5.0.1...v5.0.2) #### What's Changed - Update CI, in line with gitdb by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/smmap/pull/53](https://redirect.github.com/gitpython-developers/smmap/pull/53) - No longer treat 3.12 as experimental on smmap CI by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/smmap/pull/54](https://redirect.github.com/gitpython-developers/smmap/pull/54) - Bump actions/setup-python from 4 to 5 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/gitpython-developers/smmap/pull/55](https://redirect.github.com/gitpython-developers/smmap/pull/55) - Replace use of mktemp by [@​EliahKagan](https://redirect.github.com/EliahKagan) in [https://github.com/gitpython-developers/smmap/pull/56](https://redirect.github.com/gitpython-developers/smmap/pull/56) - Use SPDX identifier by [@​Shortfinga](https://redirect.github.com/Shortfinga) in [https://github.com/gitpython-developers/smmap/pull/57](https://redirect.github.com/gitpython-developers/smmap/pull/57) #### New Contributors - [@​dependabot](https://redirect.github.com/dependabot) made their first contribution in [https://github.com/gitpython-developers/smmap/pull/55](https://redirect.github.com/gitpython-developers/smmap/pull/55) - [@​Shortfinga](https://redirect.github.com/Shortfinga) made their first contribution in [https://github.com/gitpython-developers/smmap/pull/57](https://redirect.github.com/gitpython-developers/smmap/pull/57) **Full Changelog**: https://github.com/gitpython-developers/smmap/compare/v5.0.1...v5.0.2
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). Co-authored-by: Tomo Suzuki Co-authored-by: Diego Marquez --- hermetic_build/common/requirements.txt | 6 +++--- hermetic_build/release_note_generation/requirements.txt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hermetic_build/common/requirements.txt b/hermetic_build/common/requirements.txt index 1573315c9a..325c64b726 100644 --- a/hermetic_build/common/requirements.txt +++ b/hermetic_build/common/requirements.txt @@ -115,7 +115,7 @@ pyyaml==6.0.2 \ --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 # via -r hermetic_build/common/requirements.in -smmap==5.0.1 \ - --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ - --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da +smmap==5.0.2 \ + --hash=sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5 \ + --hash=sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e # via gitdb diff --git a/hermetic_build/release_note_generation/requirements.txt b/hermetic_build/release_note_generation/requirements.txt index 1e36cb1053..66fc4abe33 100644 --- a/hermetic_build/release_note_generation/requirements.txt +++ b/hermetic_build/release_note_generation/requirements.txt @@ -16,7 +16,7 @@ GitPython==3.1.44 \ --hash=sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110 \ --hash=sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269 # via -r hermetic_build/release_note_generation/requirements.in -smmap==5.0.1 \ - --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ - --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da +smmap==5.0.2 \ + --hash=sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5 \ + --hash=sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e # via gitdb From 5d0b2674bfa42c619389224da73e9edd7e128a32 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 21:09:38 +0100 Subject: [PATCH 14/24] deps: update dependency com.google.crypto.tink:tink to v1.16.0 (#3562) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.crypto.tink:tink](https://redirect.github.com/tink-crypto/tink-java) | `1.15.0` -> `1.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.crypto.tink:tink/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.crypto.tink:tink/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.crypto.tink:tink/1.15.0/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.crypto.tink:tink/1.15.0/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
tink-crypto/tink-java (com.google.crypto.tink:tink) ### [`v1.16.0`](https://redirect.github.com/tink-crypto/tink-java/releases/tag/v1.16.0): Tink Java v1.16.0 [Compare Source](https://redirect.github.com/tink-crypto/tink-java/compare/v1.15.0...v1.16.0) Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks. **This is Tink Java 1.16.0** ### What's new The complete list of changes since 1.15.0 can be found [here](https://redirect.github.com/tink-crypto/tink-java/compare/1.15...1.16). - Added new API `AndroidKeystore`, which is now the preferred way to interact with the Android Keystore. - Before this release, the decision whether to use Conscrypt was done at time of class loading of some specific internal classes. If Conscrypt was not installed before the specific class for a primitive was loaded, Conscrypt was never used. Now, the decision is made whenever a new primitive is instantiated. - In HPKE, use Conscrypt implementation of `X25519` when available. On Android, it is available since API version 31. This makes HPKE both faster and uses less memory. - Updated deps: - protobuf (4.28.2) - Allow `@AccessesPartialKey` to be applied to fields and local variables, as well as methods and classes. - Added support for `X-AES-GCM`, which is an AEAD algorithm with extended nonce. It uses `AES-CMAC` for key derivation and `AES-GCM` for encryption. It is a generalization of the specification in https://c2sp.org/XAES-256-GCM. - Added configurations that allow specifying what key types are when using Tink in your application. Tink provides defaults (`ConfigurationV0`) that are backwards compatible with behavior before configs were introduced. ### Future work To see what we're working towards, check our [project roadmap](https://developers.google.com/tink/roadmap). ### Getting started To get started using Tink, see [the setup guide](https://developers.google.com/tink/tink-setup#java). ##### Maven: com.google.crypto.tink tink 1.16.0 ##### Gradle: dependencies { implementation 'com.google.crypto.tink:tink-android:1.16.0' } ##### Bazel: ```python load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") RULES_JVM_EXTERNAL_TAG = "4.5" RULES_JVM_EXTERNAL_SHA ="b17d7388feb9bfa7f2fa09031b32707df529f26c91ab9e5d909eb1676badd9a6" http_archive( name = "rules_jvm_external", strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, sha256 = RULES_JVM_EXTERNAL_SHA, url = "https://github.com/bazelbuild/rules_jvm_external/archive/refs/tags/%s.zip" % RULES_JVM_EXTERNAL_TAG, ) load("@​rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps") rules_jvm_external_deps() load("@​rules_jvm_external//:setup.bzl", "rules_jvm_external_setup") rules_jvm_external_setup() load("@​rules_jvm_external//:defs.bzl", "maven_install") maven_install( artifacts = [ "com.google.crypto.tink:tink:1.16.0", ### ... other dependencies ... ], repositories = [ "https://repo1.maven.org/maven2", ], ) ``` Alternatively, one can build Tink from source, and include it with `http_archive`: ```python http_archive( name = "com_github_tink_crypto_tink_java", urls = ["https://github.com/tink-crypto/tink-java/archive/refs/tags/v1.16.0.zip"], strip_prefix = "tink-java-1.16.0", sha256 = ... ) load("@​tink_java//:tink_java_deps.bzl", "TINK_MAVEN_ARTIFACTS", "tink_java_deps") tink_java_deps() load("@​tink_java//:tink_java_deps_init.bzl", "tink_java_deps_init") tink_java_deps_init() ### ... maven_install( artifacts = TINK_MAVEN_ARTIFACTS + # ... other dependencies ... repositories = [ "https://repo1.maven.org/maven2", ], ) ```
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). --- java-shared-dependencies/third-party-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-shared-dependencies/third-party-dependencies/pom.xml b/java-shared-dependencies/third-party-dependencies/pom.xml index 65208372da..71a56c3941 100644 --- a/java-shared-dependencies/third-party-dependencies/pom.xml +++ b/java-shared-dependencies/third-party-dependencies/pom.xml @@ -42,7 +42,7 @@ 0.8 15.0.2 0.6.0 - 1.15.0 + 1.16.0
From f6e5ad90aced32f8a738b2e52b30fcfa02c7af4b Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 21:09:49 +0100 Subject: [PATCH 15/24] deps: update dependency com.google.api-client:google-api-client-bom to v2.7.2 (#3578) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.api-client:google-api-client-bom](https://redirect.github.com/googleapis/google-api-java-client/tree/master/google-api-client-bom) ([source](https://redirect.github.com/googleapis/google-api-java-client)) | `2.7.1` -> `2.7.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.api-client:google-api-client-bom/2.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.api-client:google-api-client-bom/2.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.api-client:google-api-client-bom/2.7.1/2.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.api-client:google-api-client-bom/2.7.1/2.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
googleapis/google-api-java-client (com.google.api-client:google-api-client-bom) ### [`v2.7.2`](https://redirect.github.com/googleapis/google-api-java-client/blob/HEAD/CHANGELOG.md#272-2025-01-22) [Compare Source](https://redirect.github.com/googleapis/google-api-java-client/compare/v2.7.1...v2.7.2) ##### Bug Fixes - Add warnings to users about using credentials from external sources ([#​2551](https://redirect.github.com/googleapis/google-api-java-client/issues/2551)) ([3bb2879](https://redirect.github.com/googleapis/google-api-java-client/commit/3bb28796845a62b68a32a9cee7b4c6380b759cc1))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). Co-authored-by: Diego Marquez --- java-shared-dependencies/first-party-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-shared-dependencies/first-party-dependencies/pom.xml b/java-shared-dependencies/first-party-dependencies/pom.xml index c99fb860dc..115875ba99 100644 --- a/java-shared-dependencies/first-party-dependencies/pom.xml +++ b/java-shared-dependencies/first-party-dependencies/pom.xml @@ -24,7 +24,7 @@ ${project.artifactId} 1.6.1 1.37.0 - 2.7.1 + 2.7.2
From 07ce801599479020629ce726afb9c06b2f711093 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 22:11:01 +0100 Subject: [PATCH 16/24] deps: update dependency commons-codec:commons-codec to v1.17.2 (#3557) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [commons-codec:commons-codec](https://commons.apache.org/proper/commons-codec/) ([source](https://redirect.github.com/apache/commons-codec)) | `1.17.1` -> `1.17.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/commons-codec:commons-codec/1.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/commons-codec:commons-codec/1.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/commons-codec:commons-codec/1.17.1/1.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/commons-codec:commons-codec/1.17.1/1.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
apache/commons-codec (commons-codec:commons-codec) ### [`v1.17.2`](https://redirect.github.com/apache/commons-codec/blob/HEAD/RELEASE-NOTES.txt#Apache-Commons-Codec-1172-RELEASE-NOTES) The Apache Commons Codec component contains encoders and decoders for formats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these widely used encoders and decoders, the codec package also maintains a collection of phonetic encoding utilities. This is a feature and maintenance release. Java 8 or later is required.
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). Co-authored-by: Diego Marquez --- java-shared-dependencies/third-party-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-shared-dependencies/third-party-dependencies/pom.xml b/java-shared-dependencies/third-party-dependencies/pom.xml index 71a56c3941..5dc04d7b54 100644 --- a/java-shared-dependencies/third-party-dependencies/pom.xml +++ b/java-shared-dependencies/third-party-dependencies/pom.xml @@ -29,7 +29,7 @@ 3.0.2 2.18.2 2.36.0 - 1.17.1 + 1.17.2 4.4.16 4.5.14 From 7fa879a0e795094d481c090123d612f0e3a3968e Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 22:11:15 +0100 Subject: [PATCH 17/24] deps: update google auth library dependencies to v1.31.0 (#3577) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.auth:google-auth-library-credentials](https://redirect.github.com/googleapis/google-auth-library-java) | `1.30.1` -> `1.31.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-credentials/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.auth:google-auth-library-credentials/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.auth:google-auth-library-credentials/1.30.1/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.auth:google-auth-library-credentials/1.30.1/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.auth:google-auth-library-oauth2-http](https://redirect.github.com/googleapis/google-auth-library-java) | `1.30.1` -> `1.31.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-oauth2-http/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.auth:google-auth-library-oauth2-http/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.auth:google-auth-library-oauth2-http/1.30.1/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.auth:google-auth-library-oauth2-http/1.30.1/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.auth:google-auth-library-bom](https://redirect.github.com/googleapis/google-auth-library-java) | `1.30.1` -> `1.31.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-bom/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.auth:google-auth-library-bom/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.auth:google-auth-library-bom/1.30.1/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.auth:google-auth-library-bom/1.30.1/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
googleapis/google-auth-library-java (com.google.auth:google-auth-library-credentials) ### [`v1.31.0`](https://redirect.github.com/googleapis/google-auth-library-java/blob/HEAD/CHANGELOG.md#1310-2025-01-22) [Compare Source](https://redirect.github.com/googleapis/google-auth-library-java/compare/v1.30.1...v1.31.0) ##### Features - ImpersonatedCredentials to support universe domain for idtoken and signblob ([#​1566](https://redirect.github.com/googleapis/google-auth-library-java/issues/1566)) ([adc2ff3](https://redirect.github.com/googleapis/google-auth-library-java/commit/adc2ff3dcabb79e367d0d66b5b3fd8a51e35bc2b)) - Support transport and binding-enforcement MDS parameters. ([#​1558](https://redirect.github.com/googleapis/google-auth-library-java/issues/1558)) ([9828a8e](https://redirect.github.com/googleapis/google-auth-library-java/commit/9828a8eeb9f144f7c341df0c03282a8790356962)) ##### Documentation - Promote use of bill of materials in quickstart documentation ([#​1620](https://redirect.github.com/googleapis/google-auth-library-java/issues/1620)) ([fc20d9c](https://redirect.github.com/googleapis/google-auth-library-java/commit/fc20d9c9d33b7eada964cf41297f8a3e13c27fe1)), closes [#​1552](https://redirect.github.com/googleapis/google-auth-library-java/issues/1552)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). --- gapic-generator-java-pom-parent/pom.xml | 2 +- gax-java/dependencies.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gapic-generator-java-pom-parent/pom.xml b/gapic-generator-java-pom-parent/pom.xml index 84e720b6e2..355cbc9d50 100644 --- a/gapic-generator-java-pom-parent/pom.xml +++ b/gapic-generator-java-pom-parent/pom.xml @@ -27,7 +27,7 @@ consistent across modules in this repository --> 1.3.2 1.69.0 - 1.30.1 + 1.31.0 1.45.3 2.11.0 33.4.0-jre diff --git a/gax-java/dependencies.properties b/gax-java/dependencies.properties index 0db2914469..10d6ec8a16 100644 --- a/gax-java/dependencies.properties +++ b/gax-java/dependencies.properties @@ -37,8 +37,8 @@ version.io_grpc=1.69.0 # 2) Replace all characters which are neither alphabetic nor digits with the underscore ('_') character maven.com_google_api_grpc_proto_google_common_protos=com.google.api.grpc:proto-google-common-protos:2.50.0 maven.com_google_api_grpc_grpc_google_common_protos=com.google.api.grpc:grpc-google-common-protos:2.50.0 -maven.com_google_auth_google_auth_library_oauth2_http=com.google.auth:google-auth-library-oauth2-http:1.30.1 -maven.com_google_auth_google_auth_library_credentials=com.google.auth:google-auth-library-credentials:1.30.1 +maven.com_google_auth_google_auth_library_oauth2_http=com.google.auth:google-auth-library-oauth2-http:1.31.0 +maven.com_google_auth_google_auth_library_credentials=com.google.auth:google-auth-library-credentials:1.31.0 maven.io_opentelemetry_opentelemetry_api=io.opentelemetry:opentelemetry-api:1.45.0 maven.io_opencensus_opencensus_api=io.opencensus:opencensus-api:0.31.1 maven.io_opencensus_opencensus_contrib_grpc_metrics=io.opencensus:opencensus-contrib-grpc-metrics:0.31.1 From fcf40b72d43346e43d78d1e87060be6e621e9d52 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 22:11:32 +0100 Subject: [PATCH 18/24] deps: update googleapis/java-cloud-bom digest to c7c443f (#3579) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | googleapis/java-cloud-bom | action | digest | `03f6dcd` -> `c7c443f` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a6d335eccd..1b4ae187b2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -300,7 +300,7 @@ jobs: run: | mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip - name: Validate gapic-generator-java-bom - uses: googleapis/java-cloud-bom/tests/validate-bom@03f6dcd453a15bf785130deb2f588de715d747b7 + uses: googleapis/java-cloud-bom/tests/validate-bom@c7c443f45b16046fa52a077194e14dcbd1c3b90e with: bom-path: gapic-generator-java-bom/pom.xml From b9c9d212ea57598de5ddf2e4ead2ee323c5a8135 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 22:56:08 +0100 Subject: [PATCH 19/24] deps: update repo-automation-bots digest to 0a12b5d (#3464) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | repo-automation-bots | digest | `8b7d94b` -> `0a12b5d` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). --- .cloudbuild/library_generation/library_generation.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cloudbuild/library_generation/library_generation.Dockerfile b/.cloudbuild/library_generation/library_generation.Dockerfile index eb472da2f7..6e157c615d 100644 --- a/.cloudbuild/library_generation/library_generation.Dockerfile +++ b/.cloudbuild/library_generation/library_generation.Dockerfile @@ -49,7 +49,7 @@ RUN sh compile-x86_64-alpine-linux.sh FROM docker.io/library/python:3.13.1-alpine3.20@sha256:9ab3b6ef4afb7582afaa84e97d40a36f192595bb0578561c282cecc22a45de49 as final -ARG OWLBOT_CLI_COMMITTISH=8b7d94b4a8ad0345aeefd6a7ec9c5afcbeb8e2d7 +ARG OWLBOT_CLI_COMMITTISH=0a12b5d22a1ee0975dae8142d61c828ea74508e4 ARG PROTOC_VERSION=25.5 ARG GRPC_VERSION=1.69.0 ARG JAVA_FORMAT_VERSION=1.7 From a4726e9d96e9f54d839b6822a6372b1905839b6d Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 22:56:39 +0100 Subject: [PATCH 20/24] deps: update dependency org.checkerframework:checker-qual to v3.48.4 (#3560) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.checkerframework:checker-qual](https://checkerframework.org/) ([source](https://redirect.github.com/typetools/checker-framework)) | `3.48.3` -> `3.48.4` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.checkerframework:checker-qual/3.48.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.checkerframework:checker-qual/3.48.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.checkerframework:checker-qual/3.48.3/3.48.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.checkerframework:checker-qual/3.48.3/3.48.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). Co-authored-by: Diego Marquez --- java-shared-dependencies/third-party-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java-shared-dependencies/third-party-dependencies/pom.xml b/java-shared-dependencies/third-party-dependencies/pom.xml index 5dc04d7b54..b5247c947f 100644 --- a/java-shared-dependencies/third-party-dependencies/pom.xml +++ b/java-shared-dependencies/third-party-dependencies/pom.xml @@ -33,7 +33,7 @@ 4.4.16 4.5.14 - 3.48.3 + 3.48.4 0.27.0 3.0.0 0.33.0 From f577ecd044fc30dbeb2209292ecc6dcfdedaa758 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 23 Jan 2025 22:56:59 +0100 Subject: [PATCH 21/24] deps: update docker.io/library/alpine docker tag to v3.21.2 (#3580) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | docker.io/library/alpine | stage | patch | `3.21.1` -> `3.21.2` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/sdk-platform-java). --- .cloudbuild/library_generation/library_generation.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cloudbuild/library_generation/library_generation.Dockerfile b/.cloudbuild/library_generation/library_generation.Dockerfile index 6e157c615d..8aa286b165 100644 --- a/.cloudbuild/library_generation/library_generation.Dockerfile +++ b/.cloudbuild/library_generation/library_generation.Dockerfile @@ -27,7 +27,7 @@ RUN mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip RUN cp "/root/.m2/repository/com/google/api/gapic-generator-java/${DOCKER_GAPIC_GENERATOR_VERSION}/gapic-generator-java-${DOCKER_GAPIC_GENERATOR_VERSION}.jar" \ "./gapic-generator-java.jar" -FROM docker.io/library/alpine:3.21.1@sha256:b97e2a89d0b9e4011bb88c02ddf01c544b8c781acf1f4d559e7c8f12f1047ac3 as glibc-compat +FROM docker.io/library/alpine:3.21.2@sha256:56fa17d2a7e7f168a043a2712e63aed1f8543aeafdcee47c58dcffe38ed51099 as glibc-compat RUN apk add git sudo # This SHA is the latest known-to-work version of this binary compatibility tool From 65a0f11d2c8bebade9518ff338103e92a332252c Mon Sep 17 00:00:00 2001 From: Riya Mehta <55350838+rmehta19@users.noreply.github.com> Date: Fri, 24 Jan 2025 07:27:59 -0800 Subject: [PATCH 22/24] feat: revert #3400: reintroduce experimental S2A integration in client libraries grpc transport (#3548) **Revert #3400.** **This PR re-introduces the S2A integration the Java Cloud SDK (initially introduced in #3326, and temporarily reverted in #3400).** **This PR does this by reverting #3400 with the following patches:** - load the S2A APIs via reflection. This allows us to merge the code while the [S2A API is still experimental in gRPC-Java](https://github.com/grpc/grpc-java/blob/master/s2a/src/main/java/io/grpc/s2a/S2AChannelCredentials.java) without introducing a diamond dependency conflict. Once the S2A APIs are stable, the reflection logic can be removed and the S2A API can be used directly (via a dependency on S2A API) - fix NPE (#3401) - use a different env var name for enabling the feature **Below is the original description from #3326** Modify the Client Libraries gRPC Channel builder to use mTLS via S2A if the experimental environment variable is set, S2A is available (We check this by using [SecureSessionAgent utility](https://github.com/googleapis/google-auth-library-java/blob/main/oauth2_http/java/com/google/auth/oauth2/SecureSessionAgent.java)), and a few more conditions (see `shouldUseS2A`). Following https://google.aip.dev/auth/4115, Only attempt to use S2A after DirectPath and DCA (https://google.aip.dev/auth/4114) are ruled out as options. If conditions to use S2A are not met (env variable not set, or S2A is not running in environment, etc (`shouldUseS2A` returns false)), fall back to default TLS connection. When we are creating S2A-enabled Grpc Channel Credentials, we first try to secure the connection between the client and the S2A via MTLS, using [MTLS-MDS](https://cloud.google.com/compute/docs/metadata/overview#https-mds) credentials. If MTLS-MDS credentials can't be loaded, then we fallback to a plaintext connection between the client and S2A. The parallel go implementation : googleapis/google-api-go-client#1874 (now lives here: https://github.com/googleapis/google-cloud-go/blob/main/auth/internal/transport/cba.go) S2A Java client: https://github.com/grpc/grpc-java/tree/master/s2a Resolving b/376258193 means that S2A.java is no longer experimental --- .../gax-grpc/clirr-ignored-differences.xml | 6 - gax-java/gax-grpc/pom.xml | 5 + .../InstantiatingGrpcChannelProvider.java | 193 +++++++++++++++++- .../api/gax/grpc/GrpcLongRunningTest.java | 2 + .../InstantiatingGrpcChannelProviderTest.java | 118 +++++++++++ .../gax-grpc/src/test/resources/README.md | 29 +++ .../src/test/resources/client_cert.pem | 20 ++ .../src/test/resources/client_key.pem | 28 +++ .../gax-grpc/src/test/resources/root_cert.pem | 22 ++ .../clirr-ignored-differences.xml | 10 - gax-java/gax/clirr-ignored-differences.xml | 12 +- .../com/google/api/gax/rpc/ClientContext.java | 1 + .../google/api/gax/rpc/EndpointContext.java | 58 +++++- .../api/gax/rpc/TransportChannelProvider.java | 7 + .../api/gax/rpc/EndpointContextTest.java | 123 +++++++++++ 15 files changed, 610 insertions(+), 24 deletions(-) create mode 100644 gax-java/gax-grpc/src/test/resources/README.md create mode 100644 gax-java/gax-grpc/src/test/resources/client_cert.pem create mode 100644 gax-java/gax-grpc/src/test/resources/client_key.pem create mode 100644 gax-java/gax-grpc/src/test/resources/root_cert.pem delete mode 100644 gax-java/gax-httpjson/clirr-ignored-differences.xml diff --git a/gax-java/gax-grpc/clirr-ignored-differences.xml b/gax-java/gax-grpc/clirr-ignored-differences.xml index 3cc02d6562..8b595b0a85 100644 --- a/gax-java/gax-grpc/clirr-ignored-differences.xml +++ b/gax-java/gax-grpc/clirr-ignored-differences.xml @@ -7,10 +7,4 @@ com/google/api/gax/grpc/GrpcTransportChannel boolean isDirectPath() - - - 7002 - com/google/api/gax/grpc/InstantiatingGrpcChannelProvider - * withUseS2A(*) - diff --git a/gax-java/gax-grpc/pom.xml b/gax-java/gax-grpc/pom.xml index 61379ae8aa..7164857e77 100644 --- a/gax-java/gax-grpc/pom.xml +++ b/gax-java/gax-grpc/pom.xml @@ -94,6 +94,11 @@
+ + io.grpc + grpc-s2a + test + com.google.api.grpc grpc-google-common-protos diff --git a/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java b/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java index 4cdeb8d74f..0d731a50fd 100644 --- a/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java +++ b/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java @@ -46,14 +46,18 @@ import com.google.auth.ApiKeyCredentials; import com.google.auth.Credentials; import com.google.auth.oauth2.ComputeEngineCredentials; +import com.google.auth.oauth2.SecureSessionAgent; +import com.google.auth.oauth2.SecureSessionAgentConfig; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.io.Files; import io.grpc.CallCredentials; import io.grpc.ChannelCredentials; import io.grpc.Grpc; +import io.grpc.InsecureChannelCredentials; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import io.grpc.TlsChannelCredentials; @@ -61,6 +65,7 @@ import io.grpc.auth.MoreCallCredentials; import java.io.File; import java.io.IOException; +import java.lang.reflect.Method; import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.security.KeyStore; @@ -99,6 +104,19 @@ public final class InstantiatingGrpcChannelProvider implements TransportChannelP @VisibleForTesting static final String DIRECT_PATH_ENV_ENABLE_XDS = "GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS"; + // The public portion of the mTLS MDS root certificate is stored for performing + // cert verification when establishing an mTLS connection with the MDS. See + // {@link this + // for more information.} + private static final String MTLS_MDS_ROOT_PATH = "/run/google-mds-mtls/root.crt"; + // The mTLS MDS credentials are formatted as the concatenation of a PEM-encoded certificate chain + // followed by a PEM-encoded private key. See + // {@link this + // for more information.} + private static final String MTLS_MDS_CERT_CHAIN_AND_KEY_PATH = "/run/google-mds-mtls/client.key"; + static final long DIRECT_PATH_KEEP_ALIVE_TIME_SECONDS = 3600; static final long DIRECT_PATH_KEEP_ALIVE_TIMEOUT_SECONDS = 20; static final String GCE_PRODUCTION_NAME_PRIOR_2016 = "Google"; @@ -107,6 +125,7 @@ public final class InstantiatingGrpcChannelProvider implements TransportChannelP private final int processorCount; private final Executor executor; private final HeaderProvider headerProvider; + private final boolean useS2A; private final String endpoint; // TODO: remove. envProvider currently provides DirectPath environment variable, and is only used // during initial rollout for DirectPath. This provider will be removed once the DirectPath @@ -126,6 +145,7 @@ public final class InstantiatingGrpcChannelProvider implements TransportChannelP @Nullable private final Boolean allowNonDefaultServiceAccount; @VisibleForTesting final ImmutableMap directPathServiceConfig; @Nullable private final MtlsProvider mtlsProvider; + @Nullable private final SecureSessionAgent s2aConfigProvider; @Nullable private final List allowedHardBoundTokenTypes; @VisibleForTesting final Map headersWithDuplicatesRemoved = new HashMap<>(); @@ -153,9 +173,11 @@ private InstantiatingGrpcChannelProvider(Builder builder) { this.processorCount = builder.processorCount; this.executor = builder.executor; this.headerProvider = builder.headerProvider; + this.useS2A = builder.useS2A; this.endpoint = builder.endpoint; this.allowedHardBoundTokenTypes = builder.allowedHardBoundTokenTypes; this.mtlsProvider = builder.mtlsProvider; + this.s2aConfigProvider = builder.s2aConfigProvider; this.envProvider = builder.envProvider; this.interceptorProvider = builder.interceptorProvider; this.maxInboundMessageSize = builder.maxInboundMessageSize; @@ -244,6 +266,17 @@ public TransportChannelProvider withEndpoint(String endpoint) { return toBuilder().setEndpoint(endpoint).build(); } + /** + * Specify whether or not to use S2A. + * + * @param useS2A + * @return A new {@link InstantiatingGrpcChannelProvider} with useS2A set. + */ + @Override + public TransportChannelProvider withUseS2A(boolean useS2A) { + return toBuilder().setUseS2A(useS2A).build(); + } + /** @deprecated Please modify pool settings via {@link #toBuilder()} */ @Deprecated @Override @@ -429,6 +462,136 @@ ChannelCredentials createMtlsChannelCredentials() throws IOException, GeneralSec return null; } + /** + * Create the S2A-Secured Channel credentials. Load the API using reflection. Once the S2A API is + * stable in gRPC-Java, all callers of this method can simply use the S2A APIs directly and this + * method can be deleted. + * + * @param s2aAddress the address of the S2A server used to secure the connection. + * @param s2aChannelCredentials the credentials to be used when connecting to the S2A. + * @return {@code ChannelCredentials} instance. + */ + ChannelCredentials buildS2AChannelCredentials( + String s2aAddress, ChannelCredentials s2aChannelCredentials) { + try { + // Load the S2A API. + Class s2aChannelCreds = Class.forName("io.grpc.s2a.S2AChannelCredentials"); + Class s2aChannelCredsBuilder = Class.forName("io.grpc.s2a.S2AChannelCredentials$Builder"); + + // Load and invoke the S2A API methods. + Class[] partypes = new Class[2]; + partypes[0] = String.class; + partypes[1] = ChannelCredentials.class; + Method newBuilder = s2aChannelCreds.getMethod("newBuilder", partypes); + Object arglist[] = new Object[2]; + arglist[0] = s2aAddress; + arglist[1] = s2aChannelCredentials; + Object retObjBuilder = newBuilder.invoke(null, arglist); + Method build = s2aChannelCredsBuilder.getMethod("build", null); + Object retObjCreds = build.invoke(retObjBuilder, null); + return (ChannelCredentials) retObjCreds; + } catch (Throwable t) { + LOG.log( + Level.WARNING, + "Falling back to default (TLS without S2A) because S2A APIs cannot be used: " + + t.getMessage()); + return null; + } + } + + /** + * This method creates {@link TlsChannelCredentials} to be used by the client to establish an mTLS + * connection to S2A. Returns null if any of {@param trustBundle}, {@param privateKey} or {@param + * certChain} are missing. + * + * @param trustBundle the trust bundle to be used to establish the client -> S2A mTLS connection + * @param privateKey the client's private key to be used to establish the client -> S2A mtls + * connection + * @param certChain the client's cert chain to be used to establish the client -> S2A mtls + * connection + * @return {@link ChannelCredentials} to use to create an mtls connection between client and S2A + * @throws IOException on error + */ + @VisibleForTesting + ChannelCredentials createMtlsToS2AChannelCredentials( + File trustBundle, File privateKey, File certChain) throws IOException { + if (trustBundle == null || privateKey == null || certChain == null) { + return null; + } + return TlsChannelCredentials.newBuilder() + .keyManager(privateKey, certChain) + .trustManager(trustBundle) + .build(); + } + + /** + * This method creates {@link ChannelCredentials} to be used by client to establish a plaintext + * connection to S2A. if {@param plaintextAddress} is not present, returns null. + * + * @param plaintextAddress the address to reach S2A which accepts plaintext connections + * @return {@link ChannelCredentials} to use to create a plaintext connection between client and + * S2A + */ + ChannelCredentials createPlaintextToS2AChannelCredentials(String plaintextAddress) { + if (Strings.isNullOrEmpty(plaintextAddress)) { + return null; + } + return buildS2AChannelCredentials(plaintextAddress, InsecureChannelCredentials.create()); + } + + /** + * This method creates gRPC {@link ChannelCredentials} configured to use S2A to estbalish a mTLS + * connection. First, the address of S2A is discovered by using the {@link S2A} utility to learn + * the {@code mtlsAddress} to reach S2A and the {@code plaintextAddress} to reach S2A. Prefer to + * use the {@code mtlsAddress} address to reach S2A if it is non-empty and the MTLS-MDS + * credentials can successfully be discovered and used to create {@link TlsChannelCredentials}. If + * there is any failure using mTLS-to-S2A, fallback to using a plaintext connection to S2A using + * the {@code plaintextAddress}. If {@code plaintextAddress} is not available, this function + * returns null; in this case S2A will not be used, and a TLS connection to the service will be + * established. + * + * @return {@link ChannelCredentials} configured to use S2A to create mTLS connection. + */ + ChannelCredentials createS2ASecuredChannelCredentials() { + SecureSessionAgentConfig config = s2aConfigProvider.getConfig(); + String plaintextAddress = config.getPlaintextAddress(); + String mtlsAddress = config.getMtlsAddress(); + if (Strings.isNullOrEmpty(mtlsAddress)) { + // Fallback to plaintext connection to S2A. + LOG.log( + Level.INFO, + "Cannot establish an mTLS connection to S2A because autoconfig endpoint did not return a mtls address to reach S2A."); + return createPlaintextToS2AChannelCredentials(plaintextAddress); + } + // Currently, MTLS to MDS is only available on GCE. See: + // https://cloud.google.com/compute/docs/metadata/overview#https-mds + // Try to load MTLS-MDS creds. + File rootFile = new File(MTLS_MDS_ROOT_PATH); + File certKeyFile = new File(MTLS_MDS_CERT_CHAIN_AND_KEY_PATH); + if (rootFile.isFile() && certKeyFile.isFile()) { + // Try to connect to S2A using mTLS. + ChannelCredentials mtlsToS2AChannelCredentials = null; + try { + mtlsToS2AChannelCredentials = + createMtlsToS2AChannelCredentials(rootFile, certKeyFile, certKeyFile); + } catch (IOException ignore) { + // Fallback to plaintext-to-S2A connection on error. + LOG.log( + Level.WARNING, + "Cannot establish an mTLS connection to S2A due to error creating MTLS to MDS TlsChannelCredentials credentials, falling back to plaintext connection to S2A: " + + ignore.getMessage()); + return createPlaintextToS2AChannelCredentials(plaintextAddress); + } + return buildS2AChannelCredentials(mtlsAddress, mtlsToS2AChannelCredentials); + } else { + // Fallback to plaintext-to-S2A connection if MTLS-MDS creds do not exist. + LOG.log( + Level.INFO, + "Cannot establish an mTLS connection to S2A because MTLS to MDS credentials do not exist on filesystem, falling back to plaintext connection to S2A"); + return createPlaintextToS2AChannelCredentials(plaintextAddress); + } + } + private ManagedChannel createSingleChannel() throws IOException { GrpcHeaderInterceptor headerInterceptor = new GrpcHeaderInterceptor(headersWithDuplicatesRemoved); @@ -468,14 +631,28 @@ private ManagedChannel createSingleChannel() throws IOException { } else { ChannelCredentials channelCredentials; try { + // Try and create credentials via DCA. See https://google.aip.dev/auth/4114. channelCredentials = createMtlsChannelCredentials(); } catch (GeneralSecurityException e) { throw new IOException(e); } if (channelCredentials != null) { + // Create the channel using channel credentials created via DCA. builder = Grpc.newChannelBuilder(endpoint, channelCredentials); } else { - builder = ManagedChannelBuilder.forAddress(serviceAddress, port); + // Could not create channel credentials via DCA. In accordance with + // https://google.aip.dev/auth/4115, if credentials not available through + // DCA, try mTLS with credentials held by the S2A (Secure Session Agent). + if (useS2A) { + channelCredentials = createS2ASecuredChannelCredentials(); + } + if (channelCredentials != null) { + // Create the channel using S2A-secured channel credentials. + builder = Grpc.newChannelBuilder(endpoint, channelCredentials); + } else { + // Use default if we cannot initialize channel credentials via DCA or S2A. + builder = ManagedChannelBuilder.forAddress(serviceAddress, port); + } } } // google-c2p resolver requires service config lookup @@ -623,7 +800,9 @@ public static final class Builder { private Executor executor; private HeaderProvider headerProvider; private String endpoint; + private boolean useS2A; private EnvironmentProvider envProvider; + private SecureSessionAgent s2aConfigProvider = SecureSessionAgent.create(); private MtlsProvider mtlsProvider = new MtlsProvider(); @Nullable private GrpcInterceptorProvider interceptorProvider; @Nullable private Integer maxInboundMessageSize; @@ -652,6 +831,7 @@ private Builder(InstantiatingGrpcChannelProvider provider) { this.executor = provider.executor; this.headerProvider = provider.headerProvider; this.endpoint = provider.endpoint; + this.useS2A = provider.useS2A; this.envProvider = provider.envProvider; this.interceptorProvider = provider.interceptorProvider; this.maxInboundMessageSize = provider.maxInboundMessageSize; @@ -668,6 +848,7 @@ private Builder(InstantiatingGrpcChannelProvider provider) { this.allowNonDefaultServiceAccount = provider.allowNonDefaultServiceAccount; this.directPathServiceConfig = provider.directPathServiceConfig; this.mtlsProvider = provider.mtlsProvider; + this.s2aConfigProvider = provider.s2aConfigProvider; } /** @@ -720,6 +901,10 @@ public Builder setEndpoint(String endpoint) { return this; } + Builder setUseS2A(boolean useS2A) { + this.useS2A = useS2A; + return this; + } /* * Sets the allowed hard bound token types for this TransportChannelProvider. * @@ -739,6 +924,12 @@ Builder setMtlsProvider(MtlsProvider mtlsProvider) { return this; } + @VisibleForTesting + Builder setS2AConfigProvider(SecureSessionAgent s2aConfigProvider) { + this.s2aConfigProvider = s2aConfigProvider; + return this; + } + /** * Sets the GrpcInterceptorProvider for this TransportChannelProvider. * diff --git a/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcLongRunningTest.java b/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcLongRunningTest.java index 241f90b08a..ac88e4acec 100644 --- a/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcLongRunningTest.java +++ b/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcLongRunningTest.java @@ -101,6 +101,8 @@ void setUp() throws IOException { TransportChannel transportChannel = GrpcTransportChannel.newBuilder().setManagedChannel(channel).build(); when(operationsChannelProvider.getTransportChannel()).thenReturn(transportChannel); + when(operationsChannelProvider.withUseS2A(Mockito.any(boolean.class))) + .thenReturn(operationsChannelProvider); clock = new FakeApiClock(0L); executor = RecordingScheduler.create(clock); diff --git a/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java b/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java index 6ec9317ab9..82738cae02 100644 --- a/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java +++ b/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java @@ -51,12 +51,16 @@ import com.google.auth.http.AuthHttpConstants; import com.google.auth.oauth2.CloudShellCredentials; import com.google.auth.oauth2.ComputeEngineCredentials; +import com.google.auth.oauth2.SecureSessionAgent; +import com.google.auth.oauth2.SecureSessionAgentConfig; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.truth.Truth; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; +import io.grpc.TlsChannelCredentials; import io.grpc.alts.ComputeEngineChannelBuilder; +import java.io.File; import java.io.IOException; import java.security.GeneralSecurityException; import java.time.Duration; @@ -985,6 +989,120 @@ private FixedHeaderProvider getHeaderProviderWithApiKeyHeader() { return FixedHeaderProvider.create(header); } + @Test + void createPlaintextToS2AChannelCredentials_emptyPlaintextAddress_returnsNull() { + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder().build(); + assertThat(provider.createPlaintextToS2AChannelCredentials("")).isNull(); + } + + @Test + void createPlaintextToS2AChannelCredentials_success() { + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder().build(); + assertThat(provider.createPlaintextToS2AChannelCredentials("localhost:8080")).isNotNull(); + } + + @Test + void createMtlsToS2AChannelCredentials_missingAllFiles_throws() throws IOException { + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder().build(); + assertThat(provider.createMtlsToS2AChannelCredentials(null, null, null)).isNull(); + } + + @Test + void createMtlsToS2AChannelCredentials_missingRootFile_throws() throws IOException { + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder().build(); + File privateKey = new File("src/test/resources/client_key.pem"); + File certChain = new File("src/test/resources/client_cert.pem"); + assertThat(provider.createMtlsToS2AChannelCredentials(null, privateKey, certChain)).isNull(); + } + + @Test + void createMtlsToS2AChannelCredentials_missingKeyFile_throws() throws IOException { + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder().build(); + File trustBundle = new File("src/test/resources/root_cert.pem"); + File certChain = new File("src/test/resources/client_cert.pem"); + assertThat(provider.createMtlsToS2AChannelCredentials(trustBundle, null, certChain)).isNull(); + } + + @Test + void createMtlsToS2AChannelCredentials_missingCertChainFile_throws() throws IOException { + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder().build(); + File trustBundle = new File("src/test/resources/root_cert.pem"); + File privateKey = new File("src/test/resources/client_key.pem"); + assertThat(provider.createMtlsToS2AChannelCredentials(trustBundle, privateKey, null)).isNull(); + } + + @Test + void createMtlsToS2AChannelCredentials_success() throws IOException { + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder().build(); + File trustBundle = new File("src/test/resources/root_cert.pem"); + File privateKey = new File("src/test/resources/client_key.pem"); + File certChain = new File("src/test/resources/client_cert.pem"); + assertEquals( + provider.createMtlsToS2AChannelCredentials(trustBundle, privateKey, certChain).getClass(), + TlsChannelCredentials.class); + } + + @Test + void createS2ASecuredChannelCredentials_bothS2AAddressesNull_returnsNull() { + SecureSessionAgent s2aConfigProvider = Mockito.mock(SecureSessionAgent.class); + SecureSessionAgentConfig config = SecureSessionAgentConfig.createBuilder().build(); + Mockito.when(s2aConfigProvider.getConfig()).thenReturn(config); + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder() + .setS2AConfigProvider(s2aConfigProvider) + .build(); + assertThat(provider.createS2ASecuredChannelCredentials()).isNull(); + } + + @Test + void + createS2ASecuredChannelCredentials_mtlsS2AAddressNull_returnsPlaintextToS2AS2AChannelCredentials() { + SecureSessionAgent s2aConfigProvider = Mockito.mock(SecureSessionAgent.class); + SecureSessionAgentConfig config = + SecureSessionAgentConfig.createBuilder().setPlaintextAddress("localhost:8080").build(); + Mockito.when(s2aConfigProvider.getConfig()).thenReturn(config); + FakeLogHandler logHandler = new FakeLogHandler(); + InstantiatingGrpcChannelProvider.LOG.addHandler(logHandler); + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder() + .setS2AConfigProvider(s2aConfigProvider) + .build(); + assertThat(provider.createS2ASecuredChannelCredentials()).isNotNull(); + assertThat(logHandler.getAllMessages()) + .contains( + "Cannot establish an mTLS connection to S2A because autoconfig endpoint did not return a mtls address to reach S2A."); + InstantiatingGrpcChannelProvider.LOG.removeHandler(logHandler); + } + + @Test + void createS2ASecuredChannelCredentials_returnsPlaintextToS2AS2AChannelCredentials() { + SecureSessionAgent s2aConfigProvider = Mockito.mock(SecureSessionAgent.class); + SecureSessionAgentConfig config = + SecureSessionAgentConfig.createBuilder() + .setMtlsAddress("localhost:8080") + .setPlaintextAddress("localhost:8080") + .build(); + Mockito.when(s2aConfigProvider.getConfig()).thenReturn(config); + FakeLogHandler logHandler = new FakeLogHandler(); + InstantiatingGrpcChannelProvider.LOG.addHandler(logHandler); + InstantiatingGrpcChannelProvider provider = + InstantiatingGrpcChannelProvider.newBuilder() + .setS2AConfigProvider(s2aConfigProvider) + .build(); + assertThat(provider.createS2ASecuredChannelCredentials()).isNotNull(); + assertThat(logHandler.getAllMessages()) + .contains( + "Cannot establish an mTLS connection to S2A because MTLS to MDS credentials do not exist on filesystem, falling back to plaintext connection to S2A"); + InstantiatingGrpcChannelProvider.LOG.removeHandler(logHandler); + } + private static class FakeLogHandler extends Handler { List records = new ArrayList<>(); diff --git a/gax-java/gax-grpc/src/test/resources/README.md b/gax-java/gax-grpc/src/test/resources/README.md new file mode 100644 index 0000000000..77cf45111b --- /dev/null +++ b/gax-java/gax-grpc/src/test/resources/README.md @@ -0,0 +1,29 @@ +# Regenerate certificates and keys for testing mTLS-S2A +Below are the commands which can be used to regenerate the certs used in tests. This is the same process +used to generate test certs for S2A client in grpc-java: https://github.com/grpc/grpc-java/blob/master/s2a/src/test/resources/README.md + +Create root CA + +``` +openssl req -x509 -sha256 -days 7305 -newkey rsa:2048 -keyout root_key.pem -out +root_cert.pem +``` + +Generate private key + +``` +openssl genrsa -out client_key.pem 2048 +``` + +Generate CSR (set Common Name to localhost, leave all +other fields blank) + +``` +openssl req -key client_key.pem -new -out client.csr -config config.cnf +``` + +Sign CSR for client + +``` +openssl x509 -req -CA root_cert.pem -CAkey root_key.pem -in client.csr -out client_cert.pem -days 7305 +``` \ No newline at end of file diff --git a/gax-java/gax-grpc/src/test/resources/client_cert.pem b/gax-java/gax-grpc/src/test/resources/client_cert.pem new file mode 100644 index 0000000000..837f8bb501 --- /dev/null +++ b/gax-java/gax-grpc/src/test/resources/client_cert.pem @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDPTCCAiWgAwIBAgIUaarddwSWeE4jDC9kwxEr446ehqUwDQYJKoZIhvcNAQEL +BQAwWTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM +GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDESMBAGA1UEAwwJbG9jYWxob3N0MB4X +DTI0MTAwMTIxNTk1NFoXDTQ0MTAwMTIxNTk1NFowFDESMBAGA1UEAwwJbG9jYWxo +b3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxlNsldt7yAU4KRuS +2D2/FjNIE1US5olBm4HteTr++41WaELZJqNLRPPp052jEQU3aKSYNGZvUUO6buu7 +eFpz2SBNUVMyvmzzocjVAyyf4NQvDazYHWOb+/YCeUppTRWriz4V5sn47qJTQ8cd +CGrTFeLHxUjx4nh/OiqVXP/KnF3EqPEuqph0ky7+GirnJgPRe+C5ERuGkJye8dmP +yWGA2lSS6MeDe7JZTAMi08bAn7BuNpeBkOzz1msGGI9PnUanUs7GOPWTDdcQAVY8 +KMvHCuGaNMGpb4rOR2mm8LlbAbpTPz8Pkw4QtMCLkgsrz2CzXpVwnLsU7nDXJAIO +B155lQIDAQABo0IwQDAdBgNVHQ4EFgQUSZEyIHLzkIw7AwkBaUjYfIrGVR4wHwYD +VR0jBBgwFoAUcq3dtxAVA410YWyM0B4e+4umbiwwDQYJKoZIhvcNAQELBQADggEB +AAz0bZ4ayrZLhA45xn0yvdpdqiCtiWikCRtxgE7VXHg/ziZJVMpBpAhbIGO5tIyd +lttnRXHwz5DUwKiba4/bCEFe229BshQEql5qaqcbGbFfSly11WeqqnwR1N7c8Gpv +pD9sVrx22seN0rTUk87MY/S7mzCxHqAx35zm/LTW3pWcgCTMKFHy4Gt4mpTnXkNA +WkhP2OhW5RLiu6Whi0BEdb2TGG1+ctamgijKXb+gJeef5ehlHXG8eU862KF5UlEA +NeQKBm/PpQxOMe0NdpatjN8QRoczku0Itiodng+OZ1o+2iSNG988uFRb3CUSnjtE +R/HL6ULAFzo59EpIYxruU/w= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/gax-java/gax-grpc/src/test/resources/client_key.pem b/gax-java/gax-grpc/src/test/resources/client_key.pem new file mode 100644 index 0000000000..38b93eb65c --- /dev/null +++ b/gax-java/gax-grpc/src/test/resources/client_key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDGU2yV23vIBTgp +G5LYPb8WM0gTVRLmiUGbge15Ov77jVZoQtkmo0tE8+nTnaMRBTdopJg0Zm9RQ7pu +67t4WnPZIE1RUzK+bPOhyNUDLJ/g1C8NrNgdY5v79gJ5SmlNFauLPhXmyfjuolND +xx0IatMV4sfFSPHieH86KpVc/8qcXcSo8S6qmHSTLv4aKucmA9F74LkRG4aQnJ7x +2Y/JYYDaVJLox4N7sllMAyLTxsCfsG42l4GQ7PPWawYYj0+dRqdSzsY49ZMN1xAB +Vjwoy8cK4Zo0walvis5HaabwuVsBulM/Pw+TDhC0wIuSCyvPYLNelXCcuxTucNck +Ag4HXnmVAgMBAAECggEAKuW9jXaBgiS63o1jyFkmvWcPNntG0M2sfrXuRzQfFgse +vwOCk8xrSflWQNsOe+58ayp6746ekl3LdBWSIbiy6SqG/sm3pp/LXNmjVYHv/QH4 +QYV643R5t1ihdVnGiBFhXwdpVleme/tpdjYZzgnJKak5W69o/nrgzhSK5ShAy2xM +j0XXbgdqG+4JxPb5BZmjHHfXAXUfgSORMdfArkbgFBRc9wL/6JVTXjeAMy5WX9qe +5UQsSOYkwc9P2snifC/jdIhjHQOkkx59O0FgukJEFZPoagVG1duWQbnNDr7QVHCJ +jV6dg9tIT4SXD3uPSPbgNGlRUseIakCzrhHARJuA2wKBgQD/h8zoh0KaqKyViCYw +XKOFpm1pAFnp2GiDOblxNubNFAXEWnC+FlkvO/z1s0zVuYELUqfxcYMSXJFEVelK +rfjZtoC5oxqWGqLo9iCj7pa8t+ipulYcLt2SWc7eZPD4T4lzeEf1Qz77aKcz34sa +dv9lzQkDvhR/Mv1VeEGFHiq2VwKBgQDGsLcTGH5Yxs//LRSY8TigBkQEDrH5NvXu +2jtAzZhy1Yhsoa5eiZkhnnzM6+n05ovfZLcy6s7dnwP1Y+C79vs+DKMBsodtDG5z +YpsB0VrXYa6P6pCqkcz0Bz9xdo5sOhAK3AKnX6jd29XBDdeYsw/lxHLG24wProTD +cCYFqtaj8wKBgQCaqKT68DL9zK14a8lBaDCIyexaqx3AjXzkP+Hfhi03XrEG4P5v +7rLYBeTbCUSt7vMN2V9QoTWFvYUm6SCkVJvTmcRblz6WL1T+z0l+LwAJBP7LC77m +m+77j2PH8yxt/iXhP6G97o+GNxdMLDbTM8bs5KZaH4fkXQY73uc5HMMZTQKBgEZS +7blYhf+t/ph2wD+RwVUCYrh86wkmJs2veCFro3WhlnO8lhbn5Mc9bTaqmVgQ8ZjT +8POYoDdYvPHxs+1TcYF4v4kuQziZmc5FLE/sZZauADb38tQsXrpQhmgGakpsEpmF +XXsYJJDB6lo2KATn+8x7R5SSyHQUdPEnlI2U9ft5AoGBAJw0NJiM1EzRS8xq0DmO +AvQaPjo01o2hH6wghws8gDQwrj0eHraHgVi7zo0VkaHJbO7ahKPudset3N7owJhA +CUAPPRtv5wn0amAyNz77f1dz4Gys3AkcchflqhbEaQpzKYx4kX0adclur4WJ/DVm +P7DI977SHCVB4FVMbXMEkBjN +-----END PRIVATE KEY----- \ No newline at end of file diff --git a/gax-java/gax-grpc/src/test/resources/root_cert.pem b/gax-java/gax-grpc/src/test/resources/root_cert.pem new file mode 100644 index 0000000000..ccd0a46bc2 --- /dev/null +++ b/gax-java/gax-grpc/src/test/resources/root_cert.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDkzCCAnugAwIBAgIUWemeXZdfqcqkP8/Eyj74oTJtoNQwDQYJKoZIhvcNAQEL +BQAwWTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM +GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDESMBAGA1UEAwwJbG9jYWxob3N0MB4X +DTI0MTAwMTIxNTkxMVoXDTQ0MTAwMTIxNTkxMVowWTELMAkGA1UEBhMCQVUxEzAR +BgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5 +IEx0ZDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAt3A04hy5lljv86Nu0LLQZ2hA+fcImHjt1p1Mxgcta/5oxfVLcerE +ZH+DAQLDtWzp9Up/vI57MM419GIL8Iszk7hnZRS/HWJ+2jewZJtz4i/g15dLr6+1 +uabMdPOWos60BwcLMxKEe6lJO1mV4z9d4NH4mAuMIHyM+ty0Klp9MfeDJtYEh0+z +AxJUHCixDTsnKJro7My7A3ZT7bvaMfXxS7XN6qlRgBfiCmXo/GKTFfmfBW/EZGkG +XOCxE2D79wYNhC41Q/ix0kwjEeOj2vgGFoiyblSdHdzvRXzsoQTEiZSM8lJDR2IT +ZbpgbBlknMU6efNWlS8P5damB9ZWXg3x4wIDAQABo1MwUTAdBgNVHQ4EFgQUcq3d +txAVA410YWyM0B4e+4umbiwwHwYDVR0jBBgwFoAUcq3dtxAVA410YWyM0B4e+4um +biwwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEApZvaI9y7vjX/ +RRdvwf2Db9KlTE9nuVQ3AsrmG9Ml0p2X6U5aTetxdYBo2PuaaYHheF03JOH8zjpL +UfFzvbi52DPbfFAaDw/6NIAenXlg492leNvUFNjGGRyJO9R5/aDfv40/fT3Em5G5 +DnR8SeGQ9tI1t6xBBT+d+/MilSiEKVu8IIF/p0SwvEyR4pKo6wFVZR0ZiIj2v/FZ +P5Qk0Xhb+slpmaR3Wtx/mPl9Wb3kpPD4CAwhWDqFkKJql9/n9FvMjdwlCQKQGB26 +ZDXY3C0UTdktK5biNWRgAUVJEWBX6Q2amrxQHIn2d9RJ8uxCME/KBAntK+VxZE78 +w0JOvQ4Dpw== +-----END CERTIFICATE----- \ No newline at end of file diff --git a/gax-java/gax-httpjson/clirr-ignored-differences.xml b/gax-java/gax-httpjson/clirr-ignored-differences.xml deleted file mode 100644 index c4db8a60a8..0000000000 --- a/gax-java/gax-httpjson/clirr-ignored-differences.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - 7002 - com/google/api/gax/httpjson/InstantiatingHttpJsonChannelProvider - * withUseS2A(*) - - diff --git a/gax-java/gax/clirr-ignored-differences.xml b/gax-java/gax/clirr-ignored-differences.xml index e7b4d93d29..ee2e254c96 100644 --- a/gax-java/gax/clirr-ignored-differences.xml +++ b/gax-java/gax/clirr-ignored-differences.xml @@ -106,15 +106,15 @@ com/google/api/gax/batching/Batcher * - + - 7002 - com/google/api/gax/rpc/FixedTransportChannelProvider - * withUseS2A(*) + 7013 + com/google/api/gax/rpc/EndpointContext + * useS2A() - + - 7002 + 7012 com/google/api/gax/rpc/TransportChannelProvider * withUseS2A(*) diff --git a/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java b/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java index 5bce1ac6bb..8e7c9a3090 100644 --- a/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java +++ b/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java @@ -222,6 +222,7 @@ public static ClientContext create(StubSettings settings) throws IOException { if (transportChannelProvider.needsEndpoint()) { transportChannelProvider = transportChannelProvider.withEndpoint(endpoint); } + transportChannelProvider = transportChannelProvider.withUseS2A(endpointContext.useS2A()); TransportChannel transportChannel = transportChannelProvider.getTransportChannel(); ApiCallContext defaultCallContext = diff --git a/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java b/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java index dd6c199b35..2c11f6e058 100644 --- a/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java +++ b/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java @@ -30,6 +30,7 @@ package com.google.api.gax.rpc; import com.google.api.core.InternalApi; +import com.google.api.gax.rpc.internal.EnvironmentProvider; import com.google.api.gax.rpc.mtls.MtlsProvider; import com.google.auth.Credentials; import com.google.auth.oauth2.ComputeEngineCredentials; @@ -65,6 +66,9 @@ public abstract class EndpointContext { "The configured universe domain (%s) does not match the universe domain found in the credentials (%s). If you haven't configured the universe domain explicitly, `googleapis.com` is the default."; public static final String UNABLE_TO_RETRIEVE_CREDENTIALS_ERROR_MESSAGE = "Unable to retrieve the Universe Domain from the Credentials."; + // This environment variable is a temporary measure. It will be removed when the feature is + // non-experimental. + static final String S2A_ENV_ENABLE_USE_S2A = "EXPERIMENTAL_GOOGLE_API_USE_S2A_JAVA"; public static EndpointContext getDefaultInstance() { return INSTANCE; @@ -100,6 +104,11 @@ public static EndpointContext getDefaultInstance() { @Nullable public abstract String transportChannelProviderEndpoint(); + abstract boolean useS2A(); + + @Nullable + abstract EnvironmentProvider envProvider(); + @Nullable public abstract String mtlsEndpoint(); @@ -119,7 +128,8 @@ public static EndpointContext getDefaultInstance() { public static Builder newBuilder() { return new AutoValue_EndpointContext.Builder() .setSwitchToMtlsEndpointAllowed(false) - .setUsingGDCH(false); + .setUsingGDCH(false) + .setEnvProvider(System::getenv); } /** Configure the existing EndpointContext to be using GDC-H */ @@ -208,6 +218,10 @@ public abstract static class Builder { public abstract Builder setResolvedUniverseDomain(String resolvedUniverseDomain); + abstract Builder setUseS2A(boolean useS2A); + + abstract Builder setEnvProvider(EnvironmentProvider envProvider); + abstract String serviceName(); abstract String universeDomain(); @@ -216,6 +230,10 @@ public abstract static class Builder { abstract String transportChannelProviderEndpoint(); + abstract boolean useS2A(); + + abstract EnvironmentProvider envProvider(); + abstract String mtlsEndpoint(); abstract boolean switchToMtlsEndpointAllowed(); @@ -285,9 +303,46 @@ private String determineEndpoint() throws IOException { "mTLS is not supported in any universe other than googleapis.com"); } + // Check if Experimental S2A feature enabled. When feature is non-experimental, remove this + // check from this function, and plumb MTLS endpoint to channel creation logic separately. + // Note that mTLS via S2A is an independent feature from mTLS via DCA (for which endpoint + // determined by {@code mtlsEndpointResolver} above). + if (shouldUseS2A()) { + return mtlsEndpoint(); + } return endpoint; } + /** Determine if S2A can be used */ + @VisibleForTesting + boolean shouldUseS2A() { + // If mTLS endpoint is not available, skip S2A + if (Strings.isNullOrEmpty(mtlsEndpoint())) { + return false; + } + + // If EXPERIMENTAL_GOOGLE_API_USE_S2A_JAVA is not set to true, skip S2A. + String s2AEnv = envProvider().getenv(S2A_ENV_ENABLE_USE_S2A); + boolean s2AEnabled = Boolean.parseBoolean(s2AEnv); + if (!s2AEnabled) { + return false; + } + + // Skip S2A when using GDC-H + if (usingGDCH()) { + return false; + } + + // If a custom endpoint is being used, skip S2A. + if (!Strings.isNullOrEmpty(clientSettingsEndpoint()) + || !Strings.isNullOrEmpty(transportChannelProviderEndpoint())) { + return false; + } + + // mTLS via S2A is not supported in any universe other than googleapis.com. + return mtlsEndpoint().contains(Credentials.GOOGLE_DEFAULT_UNIVERSE); + } + // Default to port 443 for HTTPS. Using HTTP requires explicitly setting the endpoint private String buildEndpointTemplate(String serviceName, String resolvedUniverseDomain) { return serviceName + "." + resolvedUniverseDomain + ":443"; @@ -321,6 +376,7 @@ public EndpointContext build() throws IOException { // The Universe Domain is used to resolve the Endpoint. It should be resolved first setResolvedUniverseDomain(determineUniverseDomain()); setResolvedEndpoint(determineEndpoint()); + setUseS2A(shouldUseS2A()); return autoBuild(); } } diff --git a/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannelProvider.java b/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannelProvider.java index 21f3c31f63..7ab19c9c16 100644 --- a/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannelProvider.java +++ b/gax-java/gax/src/main/java/com/google/api/gax/rpc/TransportChannelProvider.java @@ -97,6 +97,13 @@ public interface TransportChannelProvider { */ TransportChannelProvider withEndpoint(String endpoint); + /** Sets whether to use S2A when constructing a new {@link TransportChannel}. */ + @BetaApi( + "The S2A feature is not stable yet and may change in the future. https://github.com/grpc/grpc-java/issues/11533.") + default TransportChannelProvider withUseS2A(boolean useS2A) { + return this; + } + /** * Reports whether this provider allows pool size customization. * diff --git a/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java b/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java index 3276e4a73e..94f013f9ba 100644 --- a/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java +++ b/gax-java/gax/src/test/java/com/google/api/gax/rpc/EndpointContextTest.java @@ -33,6 +33,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.rpc.internal.EnvironmentProvider; import com.google.api.gax.rpc.mtls.MtlsProvider; import com.google.api.gax.rpc.testing.FakeMtlsProvider; import com.google.auth.Credentials; @@ -372,6 +373,21 @@ void endpointContextBuild_multipleUniverseDomainConfigurations_clientSettingsHas .isEqualTo(clientSettingsUniverseDomain); } + @Test + void endpointContextBuild_shouldUseS2A_mtlsEndpoint() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("true"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("") + .setTransportChannelProviderEndpoint("") + .setUsingGDCH(false); + EndpointContext endpointContext = defaultEndpointContextBuilder.build(); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isTrue(); + Truth.assertThat(endpointContext.resolvedEndpoint()).isEqualTo(DEFAULT_MTLS_ENDPOINT); + } + @Test void hasValidUniverseDomain_gdchFlow_anyCredentials() throws IOException { Credentials noCredentials = NoCredentialsProvider.create().getCredentials(); @@ -454,4 +470,111 @@ void hasValidUniverseDomain_computeEngineCredentials_noValidationOnUniverseDomai .build(); assertDoesNotThrow(() -> endpointContext.validateUniverseDomain(credentials, statusCode)); } + + @Test + void shouldUseS2A_envVarNotSet_returnsFalse() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("false"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("") + .setTransportChannelProviderEndpoint("") + .setUsingGDCH(false); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isFalse(); + } + + @Test + void shouldUseS2A_UsingGDCH_returnsFalse() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("true"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("") + .setTransportChannelProviderEndpoint("") + .setUsingGDCH(true); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isFalse(); + } + + @Test + void shouldUseS2A_customEndpointSetViaClientSettings_returnsFalse() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("true"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("test.endpoint.com:443") + .setTransportChannelProviderEndpoint("") + .setUsingGDCH(false); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isFalse(); + } + + @Test + void shouldUseS2A_customEndpointSetViaTransportChannelProvider_returnsFalse() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("true"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("") + .setTransportChannelProviderEndpoint("test.endpoint.com:443") + .setUsingGDCH(false); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isFalse(); + } + + @Test + void shouldUseS2A_mtlsEndpointNull_returnsFalse() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("true"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("") + .setTransportChannelProviderEndpoint("") + .setUsingGDCH(false) + .setMtlsEndpoint(null); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isFalse(); + } + + @Test + void shouldUseS2A_mtlsEndpointEmpty_returnsFalse() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("true"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("") + .setTransportChannelProviderEndpoint("") + .setMtlsEndpoint("") + .setUsingGDCH(false); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isFalse(); + } + + @Test + void shouldUseS2A_mtlsEndpointNotGoogleDefaultUniverse_returnsFalse() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("true"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("") + .setTransportChannelProviderEndpoint("") + .setMtlsEndpoint("test.mtls.abcd.com:443") + .setUsingGDCH(false); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isFalse(); + } + + @Test + void shouldUseS2A_success() throws IOException { + EnvironmentProvider envProvider = Mockito.mock(EnvironmentProvider.class); + Mockito.when(envProvider.getenv(EndpointContext.S2A_ENV_ENABLE_USE_S2A)).thenReturn("true"); + defaultEndpointContextBuilder = + defaultEndpointContextBuilder + .setEnvProvider(envProvider) + .setClientSettingsEndpoint("") + .setTransportChannelProviderEndpoint("") + .setUsingGDCH(false); + Truth.assertThat(defaultEndpointContextBuilder.shouldUseS2A()).isTrue(); + } } From 540c8e5dc271d30760a9f0be8fd1245e9432d37c Mon Sep 17 00:00:00 2001 From: Diego Marquez Date: Fri, 24 Jan 2025 13:06:18 -0500 Subject: [PATCH 23/24] chore: prepare showcase for Graal SDK 23.x (#3574) ### Approach Register `java.time.Instant` to the reflection configuration of gax-grpc (see [grpc code interacting with this class](https://github.com/grpc/grpc-java/pull/11604)) This comes from a behavior change in Graal for JDK 22, which introduced a new class initialization strategy called strict image heap, which is [enforced by default since then](https://www.graalvm.org/release-notes/JDK_22/). ### Proof: ``` com.google.showcase.v1beta1.EchoClientTest > blockExceptionTest SUCCESSFUL Test run finished after 95953 ms [ 30 containers found ] [ 0 containers skipped ] [ 30 containers started ] [ 0 containers aborted ] [ 30 containers successful ] [ 0 containers failed ] [ 337 tests found ] [ 1 tests skipped ] [ 336 tests started ] [ 0 tests aborted ] [ 336 tests successful ] [ 0 tests failed ] [INFO] [INFO] --- jacoco:0.8.12:report (report) @ gapic-showcase --- [INFO] Loading execution data file /usr/local/google/home/diegomarquezp/google/sdk-platform-java/showcase/gapic-showcase/target/jacoco.exec [INFO] Analyzed bundle 'GAPIC Showcase Client' with 125 classes [WARNING] Classes in bundle 'GAPIC Showcase Client' do not match with execution data. For report generation the same class files must be used as at runtime. [WARNING] Execution data for class com/google/showcase/v1beta1/stub/HttpJsonSequenceServiceStub does not match. [WARNING] Execution data for class com/google/showcase/v1beta1/stub/HttpJsonMessagingCallableFactory does not match. [WARNING] Execution data for class com/google/showcase/v1beta1/stub/HttpJsonSequenceServiceCallableFactory does not match. [WARNING] Execution data for class com/google/showcase/v1beta1/stub/HttpJsonTestingCallableFactory does not match. [WARNING] Execution data for class com/google/showcase/v1beta1/stub/HttpJsonTestingStub does not match. [WARNING] Execution data for class com/google/showcase/v1beta1/stub/HttpJsonMessagingStub does not match. [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for GAPIC Showcase Client Core Parent 0.0.1-SNAPSHOT: [INFO] [INFO] GAPIC Showcase Client Core Parent .................. SUCCESS [ 1.709 s] [INFO] proto-gapic-showcase-v1beta1 ....................... SUCCESS [ 0.900 s] [INFO] grpc-gapic-showcase-v1beta1 ........................ SUCCESS [ 0.385 s] [INFO] GAPIC Showcase Client .............................. SUCCESS [05:29 min] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 05:34 min [INFO] Finished at: 2025-01-20T19:04:42Z [INFO] ------------------------------------------------------------------------ ``` --- .../com/google/api/gax/grpc/nativeimage/GrpcNettyFeature.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/nativeimage/GrpcNettyFeature.java b/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/nativeimage/GrpcNettyFeature.java index bbd899b284..fa8fa77d24 100644 --- a/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/nativeimage/GrpcNettyFeature.java +++ b/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/nativeimage/GrpcNettyFeature.java @@ -167,7 +167,7 @@ private static void loadGrpcNettyClasses(BeforeAnalysisAccess access) { private static void loadMiscClasses(BeforeAnalysisAccess access) { registerClassHierarchyForReflection(access, "com.google.protobuf.DescriptorProtos"); registerClassForReflection(access, "com.google.api.FieldBehavior"); - + registerClassForReflection(access, "java.time.Instant"); registerForUnsafeFieldAccess(access, "javax.net.ssl.SSLContext", "contextSpi"); } } From c5b9924588b41e233890f2eabe2d45b4c39362b0 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Sat, 25 Jan 2025 00:38:43 -0500 Subject: [PATCH 24/24] chore(main): release 2.52.0 (#3576) :robot: I have created a release *beep* *boop* ---
2.52.0 ## [2.52.0](https://github.com/googleapis/sdk-platform-java/compare/v2.51.1...v2.52.0) (2025-01-24) ### Features * add support for new setAllowHardBoundTokens field. ([#3467](https://github.com/googleapis/sdk-platform-java/issues/3467)) ([38431a2](https://github.com/googleapis/sdk-platform-java/commit/38431a290ed55174599be0927be32daaa1c49d56)) * revert [#3400](https://github.com/googleapis/sdk-platform-java/issues/3400): reintroduce experimental S2A integration in client libraries grpc transport ([#3548](https://github.com/googleapis/sdk-platform-java/issues/3548)) ([65a0f11](https://github.com/googleapis/sdk-platform-java/commit/65a0f11d2c8bebade9518ff338103e92a332252c)) ### Dependencies * update dependency com.google.api-client:google-api-client-bom to v2.7.2 ([#3578](https://github.com/googleapis/sdk-platform-java/issues/3578)) ([f6e5ad9](https://github.com/googleapis/sdk-platform-java/commit/f6e5ad90aced32f8a738b2e52b30fcfa02c7af4b)) * update dependency commons-codec:commons-codec to v1.17.2 ([#3557](https://github.com/googleapis/sdk-platform-java/issues/3557)) ([07ce801](https://github.com/googleapis/sdk-platform-java/commit/07ce801599479020629ce726afb9c06b2f711093)) * update dependency gitpython to v3.1.44 ([#3559](https://github.com/googleapis/sdk-platform-java/issues/3559)) ([e924db0](https://github.com/googleapis/sdk-platform-java/commit/e924db06590648ad40b5b3aa0f6269084270064b)) * update dependency org.checkerframework:checker-qual to v3.48.4 ([#3560](https://github.com/googleapis/sdk-platform-java/issues/3560)) ([a4726e9](https://github.com/googleapis/sdk-platform-java/commit/a4726e9d96e9f54d839b6822a6372b1905839b6d)) * update dependency smmap to v5.0.2 ([#3561](https://github.com/googleapis/sdk-platform-java/issues/3561)) ([6cd5d0d](https://github.com/googleapis/sdk-platform-java/commit/6cd5d0dfa4c5cd981b2d27771ca4b681ef415c63)) * update docker.io/library/alpine docker tag to v3.21.1 ([#3551](https://github.com/googleapis/sdk-platform-java/issues/3551)) ([edd5a4c](https://github.com/googleapis/sdk-platform-java/commit/edd5a4c04db6b16cb005301d4dbcd3f8c28b7537)) * update docker.io/library/alpine docker tag to v3.21.2 ([#3580](https://github.com/googleapis/sdk-platform-java/issues/3580)) ([f577ecd](https://github.com/googleapis/sdk-platform-java/commit/f577ecd044fc30dbeb2209292ecc6dcfdedaa758)) * update docker.io/library/maven:3.9.9-eclipse-temurin-11-alpine docker digest to 9a259c6 ([#3554](https://github.com/googleapis/sdk-platform-java/issues/3554)) ([eb2cbd6](https://github.com/googleapis/sdk-platform-java/commit/eb2cbd6515ded9278ffd0dae92af80b321e95c25)) * update docker.io/library/python:3.13.1-alpine3.20 docker digest to 9ab3b6e ([#3555](https://github.com/googleapis/sdk-platform-java/issues/3555)) ([40a74fe](https://github.com/googleapis/sdk-platform-java/commit/40a74fe322b9cc4fc50919e17472c617dd331e86)) * update google auth library dependencies to v1.31.0 ([#3577](https://github.com/googleapis/sdk-platform-java/issues/3577)) ([7fa879a](https://github.com/googleapis/sdk-platform-java/commit/7fa879a0e795094d481c090123d612f0e3a3968e)) * update googleapis/java-cloud-bom digest to c7c443f ([#3579](https://github.com/googleapis/sdk-platform-java/issues/3579)) ([fcf40b7](https://github.com/googleapis/sdk-platform-java/commit/fcf40b72d43346e43d78d1e87060be6e621e9d52)) * update repo-automation-bots digest to 0a12b5d ([#3464](https://github.com/googleapis/sdk-platform-java/issues/3464)) ([b9c9d21](https://github.com/googleapis/sdk-platform-java/commit/b9c9d212ea57598de5ddf2e4ead2ee323c5a8135))
--- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- .cloudbuild/graalvm/cloudbuild-test-a.yaml | 2 +- .cloudbuild/graalvm/cloudbuild-test-b.yaml | 2 +- .cloudbuild/graalvm/cloudbuild.yaml | 2 +- .../cloudbuild-library-generation-push.yaml | 2 +- .../library_generation.Dockerfile | 2 +- .../library_generation_airlock.Dockerfile | 2 +- .release-please-manifest.json | 2 +- CHANGELOG.md | 24 ++++++++++++++ WORKSPACE | 2 +- api-common-java/pom.xml | 4 +-- coverage-report/pom.xml | 8 ++--- gapic-generator-java-bom/pom.xml | 26 +++++++-------- gapic-generator-java-pom-parent/pom.xml | 2 +- gapic-generator-java/pom.xml | 6 ++-- gax-java/README.md | 12 +++---- gax-java/dependencies.properties | 8 ++--- gax-java/gax-bom/pom.xml | 20 ++++++------ gax-java/gax-grpc/pom.xml | 4 +-- gax-java/gax-httpjson/pom.xml | 4 +-- gax-java/gax/pom.xml | 4 +-- gax-java/pom.xml | 14 ++++---- .../grpc-google-common-protos/pom.xml | 4 +-- java-common-protos/pom.xml | 10 +++--- .../proto-google-common-protos/pom.xml | 4 +-- java-core/google-cloud-core-bom/pom.xml | 10 +++--- java-core/google-cloud-core-grpc/pom.xml | 4 +-- java-core/google-cloud-core-http/pom.xml | 4 +-- java-core/google-cloud-core/pom.xml | 4 +-- java-core/pom.xml | 6 ++-- java-iam/grpc-google-iam-v1/pom.xml | 4 +-- java-iam/grpc-google-iam-v2/pom.xml | 4 +-- java-iam/grpc-google-iam-v2beta/pom.xml | 4 +-- java-iam/pom.xml | 22 ++++++------- java-iam/proto-google-iam-v1/pom.xml | 4 +-- java-iam/proto-google-iam-v2/pom.xml | 4 +-- java-iam/proto-google-iam-v2beta/pom.xml | 4 +-- java-shared-dependencies/README.md | 2 +- .../dependency-convergence-check/pom.xml | 2 +- .../first-party-dependencies/pom.xml | 10 +++--- java-shared-dependencies/pom.xml | 8 ++--- .../third-party-dependencies/pom.xml | 4 +-- .../upper-bound-check/pom.xml | 4 +-- sdk-platform-java-config/pom.xml | 4 +-- showcase/pom.xml | 2 +- versions.txt | 32 +++++++++---------- 45 files changed, 168 insertions(+), 144 deletions(-) diff --git a/.cloudbuild/graalvm/cloudbuild-test-a.yaml b/.cloudbuild/graalvm/cloudbuild-test-a.yaml index 6c8bf10da5..ccb7a1c8b6 100644 --- a/.cloudbuild/graalvm/cloudbuild-test-a.yaml +++ b/.cloudbuild/graalvm/cloudbuild-test-a.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.41.2-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.42.0' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.13.0' options: machineType: 'E2_HIGHCPU_8' diff --git a/.cloudbuild/graalvm/cloudbuild-test-b.yaml b/.cloudbuild/graalvm/cloudbuild-test-b.yaml index 71e4539e3b..2470482f7e 100644 --- a/.cloudbuild/graalvm/cloudbuild-test-b.yaml +++ b/.cloudbuild/graalvm/cloudbuild-test-b.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.41.2-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.42.0' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.13.0' options: machineType: 'E2_HIGHCPU_8' diff --git a/.cloudbuild/graalvm/cloudbuild.yaml b/.cloudbuild/graalvm/cloudbuild.yaml index 92410e19e0..00d9e6415b 100644 --- a/.cloudbuild/graalvm/cloudbuild.yaml +++ b/.cloudbuild/graalvm/cloudbuild.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _SHARED_DEPENDENCIES_VERSION: '3.41.2-SNAPSHOT' # {x-version-update:google-cloud-shared-dependencies:current} + _SHARED_DEPENDENCIES_VERSION: '3.42.0' # {x-version-update:google-cloud-shared-dependencies:current} _JAVA_SHARED_CONFIG_VERSION: '1.13.0' steps: # GraalVM A build diff --git a/.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml b/.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml index 1fea8266b7..bebf336650 100644 --- a/.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml +++ b/.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml @@ -14,7 +14,7 @@ timeout: 7200s # 2 hours substitutions: - _GAPIC_GENERATOR_JAVA_VERSION: '2.51.2-SNAPSHOT' # {x-version-update:gapic-generator-java:current} + _GAPIC_GENERATOR_JAVA_VERSION: '2.52.0' # {x-version-update:gapic-generator-java:current} _PRIVATE_IMAGE_NAME: "us-docker.pkg.dev/java-hermetic-build-prod/private-resources/java-library-generation" _PRIVATE_SHA_IMAGE_ID: "${_PRIVATE_IMAGE_NAME}:${COMMIT_SHA}" _PRIVATE_LATEST_IMAGE_ID: "${_PRIVATE_IMAGE_NAME}:latest" diff --git a/.cloudbuild/library_generation/library_generation.Dockerfile b/.cloudbuild/library_generation/library_generation.Dockerfile index 8aa286b165..1bb30899e6 100644 --- a/.cloudbuild/library_generation/library_generation.Dockerfile +++ b/.cloudbuild/library_generation/library_generation.Dockerfile @@ -20,7 +20,7 @@ FROM docker.io/library/maven:3.9.9-eclipse-temurin-11-alpine@sha256:9a259c69e575 WORKDIR /sdk-platform-java COPY . . # {x-version-update-start:gapic-generator-java:current} -ENV DOCKER_GAPIC_GENERATOR_VERSION="2.51.2-SNAPSHOT" +ENV DOCKER_GAPIC_GENERATOR_VERSION="2.52.0" # {x-version-update-end} RUN mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip diff --git a/.cloudbuild/library_generation/library_generation_airlock.Dockerfile b/.cloudbuild/library_generation/library_generation_airlock.Dockerfile index 624b7a3660..2f42f1b81c 100644 --- a/.cloudbuild/library_generation/library_generation_airlock.Dockerfile +++ b/.cloudbuild/library_generation/library_generation_airlock.Dockerfile @@ -21,7 +21,7 @@ FROM us-docker.pkg.dev/artifact-foundry-prod/docker-3p-trusted/maven@sha256:d3f0 WORKDIR /sdk-platform-java COPY . . # {x-version-update-start:gapic-generator-java:current} -ENV DOCKER_GAPIC_GENERATOR_VERSION="2.51.2-SNAPSHOT" +ENV DOCKER_GAPIC_GENERATOR_VERSION="2.52.0" # {x-version-update-end} RUN mvn install -B -ntp -DskipTests -Dclirr.skip -Dcheckstyle.skip diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6ce619d2c4..436fe1fcdc 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.51.1" + ".": "2.52.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index dfbf124df4..472834cb6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,29 @@ # Changelog +## [2.52.0](https://github.com/googleapis/sdk-platform-java/compare/v2.51.1...v2.52.0) (2025-01-24) + + +### Features + +* add support for new setAllowHardBoundTokens field. ([#3467](https://github.com/googleapis/sdk-platform-java/issues/3467)) ([38431a2](https://github.com/googleapis/sdk-platform-java/commit/38431a290ed55174599be0927be32daaa1c49d56)) +* revert [#3400](https://github.com/googleapis/sdk-platform-java/issues/3400): reintroduce experimental S2A integration in client libraries grpc transport ([#3548](https://github.com/googleapis/sdk-platform-java/issues/3548)) ([65a0f11](https://github.com/googleapis/sdk-platform-java/commit/65a0f11d2c8bebade9518ff338103e92a332252c)) + + +### Dependencies + +* update dependency com.google.api-client:google-api-client-bom to v2.7.2 ([#3578](https://github.com/googleapis/sdk-platform-java/issues/3578)) ([f6e5ad9](https://github.com/googleapis/sdk-platform-java/commit/f6e5ad90aced32f8a738b2e52b30fcfa02c7af4b)) +* update dependency commons-codec:commons-codec to v1.17.2 ([#3557](https://github.com/googleapis/sdk-platform-java/issues/3557)) ([07ce801](https://github.com/googleapis/sdk-platform-java/commit/07ce801599479020629ce726afb9c06b2f711093)) +* update dependency gitpython to v3.1.44 ([#3559](https://github.com/googleapis/sdk-platform-java/issues/3559)) ([e924db0](https://github.com/googleapis/sdk-platform-java/commit/e924db06590648ad40b5b3aa0f6269084270064b)) +* update dependency org.checkerframework:checker-qual to v3.48.4 ([#3560](https://github.com/googleapis/sdk-platform-java/issues/3560)) ([a4726e9](https://github.com/googleapis/sdk-platform-java/commit/a4726e9d96e9f54d839b6822a6372b1905839b6d)) +* update dependency smmap to v5.0.2 ([#3561](https://github.com/googleapis/sdk-platform-java/issues/3561)) ([6cd5d0d](https://github.com/googleapis/sdk-platform-java/commit/6cd5d0dfa4c5cd981b2d27771ca4b681ef415c63)) +* update docker.io/library/alpine docker tag to v3.21.1 ([#3551](https://github.com/googleapis/sdk-platform-java/issues/3551)) ([edd5a4c](https://github.com/googleapis/sdk-platform-java/commit/edd5a4c04db6b16cb005301d4dbcd3f8c28b7537)) +* update docker.io/library/alpine docker tag to v3.21.2 ([#3580](https://github.com/googleapis/sdk-platform-java/issues/3580)) ([f577ecd](https://github.com/googleapis/sdk-platform-java/commit/f577ecd044fc30dbeb2209292ecc6dcfdedaa758)) +* update docker.io/library/maven:3.9.9-eclipse-temurin-11-alpine docker digest to 9a259c6 ([#3554](https://github.com/googleapis/sdk-platform-java/issues/3554)) ([eb2cbd6](https://github.com/googleapis/sdk-platform-java/commit/eb2cbd6515ded9278ffd0dae92af80b321e95c25)) +* update docker.io/library/python:3.13.1-alpine3.20 docker digest to 9ab3b6e ([#3555](https://github.com/googleapis/sdk-platform-java/issues/3555)) ([40a74fe](https://github.com/googleapis/sdk-platform-java/commit/40a74fe322b9cc4fc50919e17472c617dd331e86)) +* update google auth library dependencies to v1.31.0 ([#3577](https://github.com/googleapis/sdk-platform-java/issues/3577)) ([7fa879a](https://github.com/googleapis/sdk-platform-java/commit/7fa879a0e795094d481c090123d612f0e3a3968e)) +* update googleapis/java-cloud-bom digest to c7c443f ([#3579](https://github.com/googleapis/sdk-platform-java/issues/3579)) ([fcf40b7](https://github.com/googleapis/sdk-platform-java/commit/fcf40b72d43346e43d78d1e87060be6e621e9d52)) +* update repo-automation-bots digest to 0a12b5d ([#3464](https://github.com/googleapis/sdk-platform-java/issues/3464)) ([b9c9d21](https://github.com/googleapis/sdk-platform-java/commit/b9c9d212ea57598de5ddf2e4ead2ee323c5a8135)) + ## [2.51.1](https://github.com/googleapis/sdk-platform-java/compare/v2.51.0...v2.51.1) (2025-01-08) diff --git a/WORKSPACE b/WORKSPACE index ab3d06adcc..5fa9db3fd4 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -58,7 +58,7 @@ load("@rules_jvm_external//:defs.bzl", "maven_install") load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_ARTIFACTS") load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS") -_gapic_generator_java_version = "2.51.2-SNAPSHOT" # {x-version-update:gapic-generator-java:current} +_gapic_generator_java_version = "2.52.0" # {x-version-update:gapic-generator-java:current} maven_install( artifacts = [ diff --git a/api-common-java/pom.xml b/api-common-java/pom.xml index 48b1a4780f..38984965df 100644 --- a/api-common-java/pom.xml +++ b/api-common-java/pom.xml @@ -5,14 +5,14 @@ com.google.api api-common jar - 2.42.2-SNAPSHOT + 2.43.0 API Common Common utilities for Google APIs in Java com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../gapic-generator-java-pom-parent diff --git a/coverage-report/pom.xml b/coverage-report/pom.xml index 782ca3a496..d997b51cf7 100644 --- a/coverage-report/pom.xml +++ b/coverage-report/pom.xml @@ -31,22 +31,22 @@ com.google.api gax - 2.59.2-SNAPSHOT + 2.60.0 com.google.api gax-grpc - 2.59.2-SNAPSHOT + 2.60.0 com.google.api gax-httpjson - 2.59.2-SNAPSHOT + 2.60.0 com.google.api api-common - 2.42.2-SNAPSHOT + 2.43.0
diff --git a/gapic-generator-java-bom/pom.xml b/gapic-generator-java-bom/pom.xml index 3d6acc51db..eb6b4c3619 100644 --- a/gapic-generator-java-bom/pom.xml +++ b/gapic-generator-java-bom/pom.xml @@ -4,7 +4,7 @@ com.google.api gapic-generator-java-bom pom - 2.51.2-SNAPSHOT + 2.52.0 GAPIC Generator Java BOM BOM for the libraries in gapic-generator-java repository. Users should not @@ -15,7 +15,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../gapic-generator-java-pom-parent @@ -75,61 +75,61 @@ com.google.api api-common - 2.42.2-SNAPSHOT + 2.43.0 com.google.api gax-bom - 2.59.2-SNAPSHOT + 2.60.0 pom import com.google.api gapic-generator-java - 2.51.2-SNAPSHOT + 2.52.0 com.google.api.grpc grpc-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 com.google.api.grpc proto-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 com.google.api.grpc proto-google-iam-v1 - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc proto-google-iam-v2 - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc proto-google-iam-v2beta - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc grpc-google-iam-v1 - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc grpc-google-iam-v2 - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc grpc-google-iam-v2beta - 1.45.2-SNAPSHOT + 1.46.0
diff --git a/gapic-generator-java-pom-parent/pom.xml b/gapic-generator-java-pom-parent/pom.xml index 355cbc9d50..4241c1773c 100644 --- a/gapic-generator-java-pom-parent/pom.xml +++ b/gapic-generator-java-pom-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 pom GAPIC Generator Java POM Parent https://github.com/googleapis/sdk-platform-java diff --git a/gapic-generator-java/pom.xml b/gapic-generator-java/pom.xml index 0b48951ed8..9d6c592de6 100644 --- a/gapic-generator-java/pom.xml +++ b/gapic-generator-java/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.google.api gapic-generator-java - 2.51.2-SNAPSHOT + 2.52.0 GAPIC Generator Java GAPIC generator Java @@ -22,7 +22,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../gapic-generator-java-pom-parent @@ -31,7 +31,7 @@ com.google.api gapic-generator-java-bom - 2.51.2-SNAPSHOT + 2.52.0 pom import diff --git a/gax-java/README.md b/gax-java/README.md index 856afacbde..b57f28d6f9 100644 --- a/gax-java/README.md +++ b/gax-java/README.md @@ -34,27 +34,27 @@ If you are using Maven, add this to your pom.xml file com.google.api gax - 2.59.1 + 2.60.0 com.google.api gax-grpc - 2.59.1 + 2.60.0 ``` If you are using Gradle, add this to your dependencies ```Groovy -compile 'com.google.api:gax:2.59.1', - 'com.google.api:gax-grpc:2.59.1' +compile 'com.google.api:gax:2.60.0', + 'com.google.api:gax-grpc:2.60.0' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.api" % "gax" % "2.59.1" -libraryDependencies += "com.google.api" % "gax-grpc" % "2.59.1" +libraryDependencies += "com.google.api" % "gax" % "2.60.0" +libraryDependencies += "com.google.api" % "gax-grpc" % "2.60.0" ``` [//]: # ({x-version-update-end}) diff --git a/gax-java/dependencies.properties b/gax-java/dependencies.properties index 10d6ec8a16..44f8c56851 100644 --- a/gax-java/dependencies.properties +++ b/gax-java/dependencies.properties @@ -8,16 +8,16 @@ # Versions of oneself # {x-version-update-start:gax:current} -version.gax=2.59.2-SNAPSHOT +version.gax=2.60.0 # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_grpc=2.59.2-SNAPSHOT +version.gax_grpc=2.60.0 # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_bom=2.59.2-SNAPSHOT +version.gax_bom=2.60.0 # {x-version-update-end} # {x-version-update-start:gax:current} -version.gax_httpjson=2.59.2-SNAPSHOT +version.gax_httpjson=2.60.0 # {x-version-update-end} # Versions for dependencies which actual artifacts differ between Bazel and Gradle. diff --git a/gax-java/gax-bom/pom.xml b/gax-java/gax-bom/pom.xml index c4eaf987b5..70568b954d 100644 --- a/gax-java/gax-bom/pom.xml +++ b/gax-java/gax-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.api gax-bom - 2.59.2-SNAPSHOT + 2.60.0 pom GAX (Google Api eXtensions) for Java (BOM) Google Api eXtensions for Java (BOM) @@ -43,55 +43,55 @@ com.google.api gax - 2.59.2-SNAPSHOT + 2.60.0 com.google.api gax - 2.59.2-SNAPSHOT + 2.60.0 test-jar testlib com.google.api gax - 2.59.2-SNAPSHOT + 2.60.0 testlib com.google.api gax-grpc - 2.59.2-SNAPSHOT + 2.60.0 com.google.api gax-grpc - 2.59.2-SNAPSHOT + 2.60.0 test-jar testlib com.google.api gax-grpc - 2.59.2-SNAPSHOT + 2.60.0 testlib com.google.api gax-httpjson - 2.59.2-SNAPSHOT + 2.60.0 com.google.api gax-httpjson - 2.59.2-SNAPSHOT + 2.60.0 test-jar testlib com.google.api gax-httpjson - 2.59.2-SNAPSHOT + 2.60.0 testlib diff --git a/gax-java/gax-grpc/pom.xml b/gax-java/gax-grpc/pom.xml index 7164857e77..4cf5916eef 100644 --- a/gax-java/gax-grpc/pom.xml +++ b/gax-java/gax-grpc/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax-grpc - 2.59.2-SNAPSHOT + 2.60.0 jar GAX (Google Api eXtensions) for Java (gRPC) Google Api eXtensions for Java (gRPC) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.59.2-SNAPSHOT + 2.60.0 diff --git a/gax-java/gax-httpjson/pom.xml b/gax-java/gax-httpjson/pom.xml index 6165dd44b5..e6ade888e1 100644 --- a/gax-java/gax-httpjson/pom.xml +++ b/gax-java/gax-httpjson/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax-httpjson - 2.59.2-SNAPSHOT + 2.60.0 jar GAX (Google Api eXtensions) for Java (HTTP JSON) Google Api eXtensions for Java (HTTP JSON) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.59.2-SNAPSHOT + 2.60.0 diff --git a/gax-java/gax/pom.xml b/gax-java/gax/pom.xml index 97bb76c50b..f7f16ff3d0 100644 --- a/gax-java/gax/pom.xml +++ b/gax-java/gax/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gax - 2.59.2-SNAPSHOT + 2.60.0 jar GAX (Google Api eXtensions) for Java (Core) Google Api eXtensions for Java (Core) @@ -11,7 +11,7 @@ com.google.api gax-parent - 2.59.2-SNAPSHOT + 2.60.0 diff --git a/gax-java/pom.xml b/gax-java/pom.xml index 542592254a..776337e93f 100644 --- a/gax-java/pom.xml +++ b/gax-java/pom.xml @@ -4,14 +4,14 @@ com.google.api gax-parent pom - 2.59.2-SNAPSHOT + 2.60.0 GAX (Google Api eXtensions) for Java (Parent) Google Api eXtensions for Java (Parent) com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../gapic-generator-java-pom-parent @@ -50,7 +50,7 @@ com.google.api api-common - 2.42.2-SNAPSHOT + 2.43.0 com.google.auth @@ -98,24 +98,24 @@ com.google.api gax - 2.59.2-SNAPSHOT + 2.60.0 com.google.api gax - 2.59.2-SNAPSHOT + 2.60.0 test-jar testlib com.google.api.grpc proto-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 com.google.api.grpc grpc-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 io.grpc diff --git a/java-common-protos/grpc-google-common-protos/pom.xml b/java-common-protos/grpc-google-common-protos/pom.xml index feef3c1f3b..f9107ae4f3 100644 --- a/java-common-protos/grpc-google-common-protos/pom.xml +++ b/java-common-protos/grpc-google-common-protos/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 grpc-google-common-protos GRPC library for grpc-google-common-protos com.google.api.grpc google-common-protos-parent - 2.50.2-SNAPSHOT + 2.51.0 diff --git a/java-common-protos/pom.xml b/java-common-protos/pom.xml index 230a4d2888..9977f9cffe 100644 --- a/java-common-protos/pom.xml +++ b/java-common-protos/pom.xml @@ -4,7 +4,7 @@ com.google.api.grpc google-common-protos-parent pom - 2.50.2-SNAPSHOT + 2.51.0 Google Common Protos Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../gapic-generator-java-pom-parent @@ -51,7 +51,7 @@ com.google.cloud third-party-dependencies - 3.41.2-SNAPSHOT + 3.42.0 pom import @@ -65,7 +65,7 @@ com.google.api.grpc grpc-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 io.grpc @@ -77,7 +77,7 @@ com.google.api.grpc proto-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 com.google.guava diff --git a/java-common-protos/proto-google-common-protos/pom.xml b/java-common-protos/proto-google-common-protos/pom.xml index abc6bd36fa..edf8884dba 100644 --- a/java-common-protos/proto-google-common-protos/pom.xml +++ b/java-common-protos/proto-google-common-protos/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 proto-google-common-protos PROTO library for proto-google-common-protos com.google.api.grpc google-common-protos-parent - 2.50.2-SNAPSHOT + 2.51.0 diff --git a/java-core/google-cloud-core-bom/pom.xml b/java-core/google-cloud-core-bom/pom.xml index 0a7e7924c7..4143b235d5 100644 --- a/java-core/google-cloud-core-bom/pom.xml +++ b/java-core/google-cloud-core-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-core-bom - 2.49.2-SNAPSHOT + 2.50.0 pom com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../../gapic-generator-java-pom-parent @@ -23,17 +23,17 @@ com.google.cloud google-cloud-core - 2.49.2-SNAPSHOT + 2.50.0 com.google.cloud google-cloud-core-grpc - 2.49.2-SNAPSHOT + 2.50.0 com.google.cloud google-cloud-core-http - 2.49.2-SNAPSHOT + 2.50.0 diff --git a/java-core/google-cloud-core-grpc/pom.xml b/java-core/google-cloud-core-grpc/pom.xml index 0102817044..9a8b9c9570 100644 --- a/java-core/google-cloud-core-grpc/pom.xml +++ b/java-core/google-cloud-core-grpc/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core-grpc - 2.49.2-SNAPSHOT + 2.50.0 jar Google Cloud Core gRPC @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.49.2-SNAPSHOT + 2.50.0 google-cloud-core-grpc diff --git a/java-core/google-cloud-core-http/pom.xml b/java-core/google-cloud-core-http/pom.xml index e19acbb1ff..4635161519 100644 --- a/java-core/google-cloud-core-http/pom.xml +++ b/java-core/google-cloud-core-http/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core-http - 2.49.2-SNAPSHOT + 2.50.0 jar Google Cloud Core HTTP @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.49.2-SNAPSHOT + 2.50.0 google-cloud-core-http diff --git a/java-core/google-cloud-core/pom.xml b/java-core/google-cloud-core/pom.xml index e54b6ec75a..f0f00492b8 100644 --- a/java-core/google-cloud-core/pom.xml +++ b/java-core/google-cloud-core/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-core - 2.49.2-SNAPSHOT + 2.50.0 jar Google Cloud Core @@ -12,7 +12,7 @@ com.google.cloud google-cloud-core-parent - 2.49.2-SNAPSHOT + 2.50.0 google-cloud-core diff --git a/java-core/pom.xml b/java-core/pom.xml index d0b8bbc45e..1fe5c79ade 100644 --- a/java-core/pom.xml +++ b/java-core/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-core-parent pom - 2.49.2-SNAPSHOT + 2.50.0 Google Cloud Core Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../gapic-generator-java-pom-parent @@ -33,7 +33,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.41.2-SNAPSHOT + 3.42.0 pom import diff --git a/java-iam/grpc-google-iam-v1/pom.xml b/java-iam/grpc-google-iam-v1/pom.xml index 2f3977600c..909650042c 100644 --- a/java-iam/grpc-google-iam-v1/pom.xml +++ b/java-iam/grpc-google-iam-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v1 - 1.45.2-SNAPSHOT + 1.46.0 grpc-google-iam-v1 GRPC library for grpc-google-iam-v1 com.google.cloud google-iam-parent - 1.45.2-SNAPSHOT + 1.46.0 diff --git a/java-iam/grpc-google-iam-v2/pom.xml b/java-iam/grpc-google-iam-v2/pom.xml index 53fc4d19c0..102ac4df6d 100644 --- a/java-iam/grpc-google-iam-v2/pom.xml +++ b/java-iam/grpc-google-iam-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v2 - 1.45.2-SNAPSHOT + 1.46.0 grpc-google-iam-v2 GRPC library for proto-google-iam-v2 com.google.cloud google-iam-parent - 1.45.2-SNAPSHOT + 1.46.0 diff --git a/java-iam/grpc-google-iam-v2beta/pom.xml b/java-iam/grpc-google-iam-v2beta/pom.xml index e562c4c9cc..b99b85df51 100644 --- a/java-iam/grpc-google-iam-v2beta/pom.xml +++ b/java-iam/grpc-google-iam-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-iam-v2beta - 1.45.2-SNAPSHOT + 1.46.0 grpc-google-iam-v2beta GRPC library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.45.2-SNAPSHOT + 1.46.0 diff --git a/java-iam/pom.xml b/java-iam/pom.xml index 27f518f13b..6f33321f4d 100644 --- a/java-iam/pom.xml +++ b/java-iam/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-iam-parent pom - 1.45.2-SNAPSHOT + 1.46.0 Google IAM Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../gapic-generator-java-pom-parent @@ -50,7 +50,7 @@ com.google.cloud third-party-dependencies - 3.41.2-SNAPSHOT + 3.42.0 pom import @@ -78,44 +78,44 @@ com.google.api gax-bom - 2.59.2-SNAPSHOT + 2.60.0 pom import com.google.api.grpc proto-google-iam-v2 - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc grpc-google-iam-v2 - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc proto-google-common-protos - 2.50.2-SNAPSHOT + 2.51.0 com.google.api.grpc proto-google-iam-v2beta - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc grpc-google-iam-v1 - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc grpc-google-iam-v2beta - 1.45.2-SNAPSHOT + 1.46.0 com.google.api.grpc proto-google-iam-v1 - 1.45.2-SNAPSHOT + 1.46.0 javax.annotation diff --git a/java-iam/proto-google-iam-v1/pom.xml b/java-iam/proto-google-iam-v1/pom.xml index a79e770882..e4734a8876 100644 --- a/java-iam/proto-google-iam-v1/pom.xml +++ b/java-iam/proto-google-iam-v1/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v1 - 1.45.2-SNAPSHOT + 1.46.0 proto-google-iam-v1 PROTO library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.45.2-SNAPSHOT + 1.46.0 diff --git a/java-iam/proto-google-iam-v2/pom.xml b/java-iam/proto-google-iam-v2/pom.xml index 732ed22bf6..ac421e0e68 100644 --- a/java-iam/proto-google-iam-v2/pom.xml +++ b/java-iam/proto-google-iam-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v2 - 1.45.2-SNAPSHOT + 1.46.0 proto-google-iam-v2 Proto library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.45.2-SNAPSHOT + 1.46.0 diff --git a/java-iam/proto-google-iam-v2beta/pom.xml b/java-iam/proto-google-iam-v2beta/pom.xml index 864a29a7ff..fbde7fe561 100644 --- a/java-iam/proto-google-iam-v2beta/pom.xml +++ b/java-iam/proto-google-iam-v2beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-iam-v2beta - 1.45.2-SNAPSHOT + 1.46.0 proto-google-iam-v2beta Proto library for proto-google-iam-v1 com.google.cloud google-iam-parent - 1.45.2-SNAPSHOT + 1.46.0 diff --git a/java-shared-dependencies/README.md b/java-shared-dependencies/README.md index 4f8db8ebf5..1bdf37d3f3 100644 --- a/java-shared-dependencies/README.md +++ b/java-shared-dependencies/README.md @@ -14,7 +14,7 @@ If you are using Maven, add this to the `dependencyManagement` section. com.google.cloud google-cloud-shared-dependencies - 3.41.1 + 3.42.0 pom import diff --git a/java-shared-dependencies/dependency-convergence-check/pom.xml b/java-shared-dependencies/dependency-convergence-check/pom.xml index 3485c8b083..c28a5fbc37 100644 --- a/java-shared-dependencies/dependency-convergence-check/pom.xml +++ b/java-shared-dependencies/dependency-convergence-check/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud shared-dependencies-dependency-convergence-test - 3.41.2-SNAPSHOT + 3.42.0 Dependency convergence test for certain artifacts in Google Cloud Shared Dependencies An dependency convergence test case for the shared dependencies BOM. A failure of this test case means diff --git a/java-shared-dependencies/first-party-dependencies/pom.xml b/java-shared-dependencies/first-party-dependencies/pom.xml index 115875ba99..5bc75b0cca 100644 --- a/java-shared-dependencies/first-party-dependencies/pom.xml +++ b/java-shared-dependencies/first-party-dependencies/pom.xml @@ -6,7 +6,7 @@ com.google.cloud first-party-dependencies pom - 3.41.2-SNAPSHOT + 3.42.0 Google Cloud First-party Shared Dependencies Shared first-party dependencies for Google Cloud Java libraries. @@ -33,7 +33,7 @@ com.google.api gapic-generator-java-bom - 2.51.2-SNAPSHOT + 2.52.0 pom import @@ -45,7 +45,7 @@ com.google.cloud google-cloud-core-bom - 2.49.2-SNAPSHOT + 2.50.0 pom import @@ -69,13 +69,13 @@ com.google.cloud google-cloud-core - 2.49.2-SNAPSHOT + 2.50.0 test-jar com.google.cloud google-cloud-core - 2.49.2-SNAPSHOT + 2.50.0 tests diff --git a/java-shared-dependencies/pom.xml b/java-shared-dependencies/pom.xml index 7767bbd92c..2bfa1d4de4 100644 --- a/java-shared-dependencies/pom.xml +++ b/java-shared-dependencies/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-shared-dependencies pom - 3.41.2-SNAPSHOT + 3.42.0 first-party-dependencies third-party-dependencies @@ -17,7 +17,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../gapic-generator-java-pom-parent @@ -31,14 +31,14 @@ com.google.cloud first-party-dependencies - 3.41.2-SNAPSHOT + 3.42.0 pom import com.google.cloud third-party-dependencies - 3.41.2-SNAPSHOT + 3.42.0 pom import diff --git a/java-shared-dependencies/third-party-dependencies/pom.xml b/java-shared-dependencies/third-party-dependencies/pom.xml index b5247c947f..9d3341d983 100644 --- a/java-shared-dependencies/third-party-dependencies/pom.xml +++ b/java-shared-dependencies/third-party-dependencies/pom.xml @@ -6,7 +6,7 @@ com.google.cloud third-party-dependencies pom - 3.41.2-SNAPSHOT + 3.42.0 Google Cloud Third-party Shared Dependencies Shared third-party dependencies for Google Cloud Java libraries. @@ -15,7 +15,7 @@ com.google.api gapic-generator-java-pom-parent - 2.51.2-SNAPSHOT + 2.52.0 ../../gapic-generator-java-pom-parent diff --git a/java-shared-dependencies/upper-bound-check/pom.xml b/java-shared-dependencies/upper-bound-check/pom.xml index 9af535e953..2f229d6d7e 100644 --- a/java-shared-dependencies/upper-bound-check/pom.xml +++ b/java-shared-dependencies/upper-bound-check/pom.xml @@ -4,7 +4,7 @@ com.google.cloud shared-dependencies-upper-bound-test pom - 3.41.2-SNAPSHOT + 3.42.0 Upper bound test for Google Cloud Shared Dependencies An upper bound test case for the shared dependencies BOM. A failure of this test case means @@ -30,7 +30,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.41.2-SNAPSHOT + 3.42.0 pom import diff --git a/sdk-platform-java-config/pom.xml b/sdk-platform-java-config/pom.xml index 425af90be9..b489ec13bb 100644 --- a/sdk-platform-java-config/pom.xml +++ b/sdk-platform-java-config/pom.xml @@ -4,7 +4,7 @@ com.google.cloud sdk-platform-java-config pom - 3.41.2-SNAPSHOT + 3.42.0 SDK Platform For Java Configurations Shared build configuration for Google Cloud Java libraries. @@ -17,6 +17,6 @@ - 3.41.2-SNAPSHOT + 3.42.0 \ No newline at end of file diff --git a/showcase/pom.xml b/showcase/pom.xml index f333743d27..7c482b9358 100644 --- a/showcase/pom.xml +++ b/showcase/pom.xml @@ -34,7 +34,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.41.2-SNAPSHOT + 3.42.0 pom import diff --git a/versions.txt b/versions.txt index 739174c4ff..1b5cc77cc1 100644 --- a/versions.txt +++ b/versions.txt @@ -1,19 +1,19 @@ # Format: # module:released-version:current-version -gapic-generator-java:2.51.1:2.51.2-SNAPSHOT -api-common:2.42.1:2.42.2-SNAPSHOT -gax:2.59.1:2.59.2-SNAPSHOT -gax-grpc:2.59.1:2.59.2-SNAPSHOT -gax-httpjson:0.144.1:0.144.2-SNAPSHOT -proto-google-common-protos:2.50.1:2.50.2-SNAPSHOT -grpc-google-common-protos:2.50.1:2.50.2-SNAPSHOT -proto-google-iam-v1:1.45.1:1.45.2-SNAPSHOT -grpc-google-iam-v1:1.45.1:1.45.2-SNAPSHOT -proto-google-iam-v2beta:1.45.1:1.45.2-SNAPSHOT -grpc-google-iam-v2beta:1.45.1:1.45.2-SNAPSHOT -google-iam-policy:1.45.1:1.45.2-SNAPSHOT -proto-google-iam-v2:1.45.1:1.45.2-SNAPSHOT -grpc-google-iam-v2:1.45.1:1.45.2-SNAPSHOT -google-cloud-core:2.49.1:2.49.2-SNAPSHOT -google-cloud-shared-dependencies:3.41.1:3.41.2-SNAPSHOT +gapic-generator-java:2.52.0:2.52.0 +api-common:2.43.0:2.43.0 +gax:2.60.0:2.60.0 +gax-grpc:2.60.0:2.60.0 +gax-httpjson:0.145.0:0.145.0 +proto-google-common-protos:2.51.0:2.51.0 +grpc-google-common-protos:2.51.0:2.51.0 +proto-google-iam-v1:1.46.0:1.46.0 +grpc-google-iam-v1:1.46.0:1.46.0 +proto-google-iam-v2beta:1.46.0:1.46.0 +grpc-google-iam-v2beta:1.46.0:1.46.0 +google-iam-policy:1.46.0:1.46.0 +proto-google-iam-v2:1.46.0:1.46.0 +grpc-google-iam-v2:1.46.0:1.46.0 +google-cloud-core:2.50.0:2.50.0 +google-cloud-shared-dependencies:3.42.0:3.42.0