Skip to content

chore: migrate sdk-platform-java to monorepo - #12126

Merged
chingor13 merged 9745 commits into
mainfrom
migrate-sdk-platform-java-2
Mar 24, 2026
Merged

chingor13 merged 9745 commits into
mainfrom
migrate-sdk-platform-java-2

Conversation

@chingor13

@chingor13 chingor13 commented Mar 20, 2026 •

Copy link
Copy Markdown
Contributor

Showcase CLIRR check is expected to fail until this PR is migrated to the monorepo. It checks a before/after build of showcase protos using the gapic generator looking for breaking changes. Since the protos are not yet in main, this check fails to build the "before" state.

Diego Marquez and others added 30 commits April 23, 2025 14:39
🤖 I have created a release *beep* *boop*
---


<details><summary>2.56.2</summary>

##
[2.56.2](googleapis/sdk-platform-java@v2.56.1...v2.56.2)
(2025-04-23)


### Bug Fixes

* inline version update in kokoro templates
([#3762](googleapis/sdk-platform-java#3762))
([46aa194](googleapis/sdk-platform-java@46aa194))
* keep native image templates up to date
([#3759](googleapis/sdk-platform-java#3759))
([3ed81b8](googleapis/sdk-platform-java@3ed81b8))
</details>

---
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>
… to v2.38.0 (#3773)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.google.errorprone:error_prone_annotations](https://errorprone.info)
([source](https://redirect.github.com/google/error-prone)) | `2.36.0` ->
`2.38.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.errorprone:error_prone_annotations/2.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.errorprone:error_prone_annotations/2.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.errorprone:error_prone_annotations/2.36.0/2.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.errorprone:error_prone_annotations/2.36.0/2.38.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

<details>
<summary>google/error-prone
(com.google.errorprone:error_prone_annotations)</summary>

###
[`v2.38.0`](https://redirect.github.com/google/error-prone/releases/tag/v2.38.0):
Error Prone 2.38.0

New checks:

-
[`AddNullMarkedToPackageInfo`](https://errorprone.info/bugpattern/AddNullMarkedToPackageInfo):
adds
[`@org.jspecify.annotations.NullMarked`](https://jspecify.dev/docs/api/org/jspecify/annotations/NullMarked.html)
annotation to package-info files
- [`IntLiteralCast`](https://errorprone.info/bugpattern/IntLiteralCast):
Suggests a literal of the desired type instead of casting an int literal
to a long, float, or double
-
[`MisleadingEmptyVarargs`](https://errorprone.info/bugpattern/MisleadingEmptyVarargs):
Discourages calling varargs methods that expect at least one argument
with no arguments, like Mockito's `thenThrow`
-
[`PreconditionsExpensiveString`](https://errorprone.info/bugpattern/PreconditionsExpensiveString):
Discourages expensive string formatting in Guava `Preconditions` checks
- [`SelfSet`](https://errorprone.info/bugpattern/SelfSet): Detects
mistakes like `proto.setFoo(proto.getFoo())`
-
[`UnnecessaryCopy`](https://errorprone.info/bugpattern/UnnecessaryCopy):
detect unnecessary copies of proto Lists and Maps.

Closed issues:
[#&#8203;4924](https://redirect.github.com/google/error-prone/issues/4924),
[#&#8203;4897](https://redirect.github.com/google/error-prone/issues/4897),
[#&#8203;4995](https://redirect.github.com/google/error-prone/issues/4995)

Full changelog:
google/error-prone@v2.37.0...v2.38.0

###
[`v2.37.0`](https://redirect.github.com/google/error-prone/releases/tag/v2.37.0):
Error Prone 2.37.0

[Compare
Source](https://redirect.github.com/google/error-prone/compare/v2.36.0...v2.37.0)

Changes:

- The annotations that were previously in `error_prone_type_annotations`
have been been merged into `error_prone_annotations`.
`error_prone_type_annotations` is now deprecated, and will be removed in
a future release.

New checks:

-
[`AssignmentExpression`](https://errorprone.info/bugpattern/AssignmentExpression)
- The use of an assignment expression can be surprising and hard to
read; consider factoring out the assignment to a separate statement.
-
[`IntFloatConversion`](https://errorprone.info/bugpattern/IntFloatConversion)
- Detect calls to `scalb` that should be using the double overload
instead
- [`InvalidSnippet`](https://errorprone.info/bugpattern/InvalidSnippet)
- Detects snippets which omit the `:` required for inline code.
-
[`JUnit4EmptyMethods`](https://errorprone.info/bugpattern/JUnit4EmptyMethods)
- Detects empty JUnit4 `@Before`, `@After`, `@BeforeClass`, and
`@AfterClass` methods.
-
[`MockIllegalThrows`](https://errorprone.info/bugpattern/MockIllegalThrows)
- Detects cases where Mockito is configured to throw checked exception
types which are impossible.
-
[`NegativeBoolean`](https://errorprone.info/bugpattern/NegativeBoolean)
- Prefer positive boolean names.
- [`RuleNotRun`](https://errorprone.info/bugpattern/RuleNotRun) -
Detects `TestRule`s not annotated with `@Rule`, that won't be run.
-
[`StringConcatToTextBlock`](https://errorprone.info/bugpattern/StringConcatToTextBlock)
- Replaces concatenated multiline strings with text blocks.
-
[`TimeInStaticInitializer`](https://errorprone.info/bugpattern/TimeInStaticInitializer)
- Detects accesses of the system time in static contexts.

Closed issues:

- Propagate check flags in patch mode
([#&#8203;4699](https://redirect.github.com/google/error-prone/issues/4699))
- Fixes a crash in ComputeIfAbsentAmbiguousReference
([#&#8203;4736](https://redirect.github.com/google/error-prone/issues/4736))
- Show the field name in HidingField diagnostics
([#&#8203;4775](https://redirect.github.com/google/error-prone/issues/4775))
- Add support for jakarta annotations to some checks
([#&#8203;4782](https://redirect.github.com/google/error-prone/issues/4782))
- FloatingPointAssertionWithinEpsilonTest depends on default locale
([#&#8203;4815](https://redirect.github.com/google/error-prone/issues/4815))
- `@InlineMe` patching of `Strings.repeat` produces broken code
([#&#8203;4819](https://redirect.github.com/google/error-prone/issues/4819))
- Fix a crash in IdentifierName on unnamed (`_`) variables
([#&#8203;4847](https://redirect.github.com/google/error-prone/issues/4847))
- Fix a crash in ArgumentParameterSwap
([#&#8203;490](https://redirect.github.com/google/error-prone/issues/490))

Full changelog:
google/error-prone@v2.36.0...v2.37.0

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
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.33.1` -> `1.34.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-credentials/1.34.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.34.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.33.1/1.34.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.33.1/1.34.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.33.1` -> `1.34.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-oauth2-http/1.34.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.34.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.33.1/1.34.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.33.1/1.34.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.33.1` -> `1.34.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-bom/1.34.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.34.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.33.1/1.34.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.33.1/1.34.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

<details>
<summary>googleapis/google-auth-library-java
(com.google.auth:google-auth-library-credentials)</summary>

###
[`v1.34.0`](https://redirect.github.com/googleapis/google-auth-library-java/blob/HEAD/CHANGELOG.md#1340-2025-04-29)

[Compare
Source](https://redirect.github.com/googleapis/google-auth-library-java/compare/v1.33.1...v1.34.0)

##### Features

- Implement X509 certificate provider
([#&#8203;1722](https://redirect.github.com/googleapis/google-auth-library-java/issues/1722))
([4340684](https://redirect.github.com/googleapis/google-auth-library-java/commit/4340684fe29c9e9bffa90e88d0b1746f19b623ab))
- Next release from main branch is 1.34.0
([#&#8203;1698](https://redirect.github.com/googleapis/google-auth-library-java/issues/1698))
([fe43815](https://redirect.github.com/googleapis/google-auth-library-java/commit/fe4381513db1340190c4309a53c6265718682dde))
- Next release from main branch is 1.34.0
([#&#8203;1702](https://redirect.github.com/googleapis/google-auth-library-java/issues/1702))
([4507cf9](https://redirect.github.com/googleapis/google-auth-library-java/commit/4507cf9e17e7ff40cf142056d3929c87f5742dd1))

##### Bug Fixes

- Do not add padding in Client-Side CAB tokens.
([#&#8203;1728](https://redirect.github.com/googleapis/google-auth-library-java/issues/1728))
([8a75ccd](https://redirect.github.com/googleapis/google-auth-library-java/commit/8a75ccd1c09191abd8ebf463bc41810a38e185f5))

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Temporary fix to only plumb the mtlsEndpoint to the gRPCChannelProviders
if this has been set with a non-null value. Validation will still go
through if it is set with bogus values.

Issue reported in googleapis/java-bigtable#2565

This seems to due to how Bigtable wrappers the generated stubs. BigTable
manually calls setEndpoint to for the StubSettings, but does not do the
equivalent for setMtlsEndpoint. The EndpointContext is only aware of the
TLS endpoint and passes a null value to the ChannelProviders.

Potential longer term fix: BigTable's wrappers would need to set the
mTLS Endpoint. This would be needed for BigTable to support S2A. This
does not impact any of BigTable's existing functionality as the endpoint
resolution for all non-S2A flows is done via `setEndpoint()`.
🤖 I have created a release *beep* *boop*
---


<details><summary>2.56.3-SNAPSHOT</summary>

### Updating meta-information for bleeding-edge SNAPSHOT release.
</details>

---
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>
See b/406872289 for more infomation

---------

Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
🤖 I have created a release *beep* *boop*
---


<details><summary>2.56.3</summary>

##
[2.56.3](googleapis/sdk-platform-java@v2.56.2...v2.56.3)
(2025-05-02)


### Bug Fixes

* Only send mtlsEndpoint if it is non-null
([#3767](googleapis/sdk-platform-java#3767))
([7068cbe](googleapis/sdk-platform-java@7068cbe))
* subscribe Airlock Docker image definition to GRPC updates
([#3765](googleapis/sdk-platform-java#3765))
([3b8f9ca](googleapis/sdk-platform-java@3b8f9ca))


### Dependencies

* update dependency com.google.errorprone:error_prone_annotations to
v2.38.0
([#3773](googleapis/sdk-platform-java#3773))
([43ea661](googleapis/sdk-platform-java@43ea661))
* update gapic-showcase to 36.2
([#3771](googleapis/sdk-platform-java#3771))
([6808c9b](googleapis/sdk-platform-java@6808c9b))
* update google auth library dependencies to v1.34.0
([#3772](googleapis/sdk-platform-java#3772))
([8efcac5](googleapis/sdk-platform-java@8efcac5))
* Update maven-shared-utils to v3.2.1
([#3768](googleapis/sdk-platform-java#3768))
([47f7907](googleapis/sdk-platform-java@47f7907))
</details>

---
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: Lawrence Qiu <lawrenceqiu@google.com>
🤖 I have created a release *beep* *boop*
---


<details><summary>2.56.4-SNAPSHOT</summary>

### Updating meta-information for bleeding-edge SNAPSHOT release.
</details>

---
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>
GroupId value should be: `com.google.api.grpc`
See b/406871794 for more information

---------

Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
🤖 I have created a release *beep* *boop*
---


<details><summary>2.57.0</summary>

##
[2.57.0](googleapis/sdk-platform-java@v2.56.3...v2.57.0)
(2025-05-05)


### Features

* Generate IAM v3beta Client Library
([#3780](googleapis/sdk-platform-java#3780))
([c7cbcd4](googleapis/sdk-platform-java@c7cbcd4))


### Bug Fixes

* Update IAM v3 groupId to the correct value
([#3777](googleapis/sdk-platform-java#3777))
([80c5d25](googleapis/sdk-platform-java@80c5d25))
</details>

---
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: cloud-java-bot <cloud-java-bot@google.com>
Co-authored-by: Lawrence Qiu <lawrenceqiu@google.com>
🤖 I have created a release *beep* *boop*
---


<details><summary>2.57.1-SNAPSHOT</summary>

### Updating meta-information for bleeding-edge SNAPSHOT release.
</details>

---
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>
Looks like this was removed in an earlier release-please PR. Adding this
back in in this PR.

Once we cut a new version of sdk-platform-java, we can remove the
hard-coded version set in google-cloud-java.
The new file
.cloudbuild/library_generation/cloudbuild-library-generation-push-exitgate.yaml
is based on
.cloudbuild/library_generation/cloudbuild-library-generation-push.yaml.
The main difference is that the image is output to
us-central1-docker.pkg.dev/cloud-sdk-production-pipeline/images-dev,
which is the entry point of the AR Exit Gate.
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[com.google.http-client:google-http-client](https://redirect.github.com/googleapis/google-http-java-client)
| `1.46.3` -> `1.47.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.http-client:google-http-client/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.http-client:google-http-client/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.http-client:google-http-client/1.46.3/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.http-client:google-http-client/1.46.3/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.http-client:google-http-client-gson](https://redirect.github.com/googleapis/google-http-java-client)
| `1.46.3` -> `1.47.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.http-client:google-http-client-gson/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.http-client:google-http-client-gson/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.http-client:google-http-client-gson/1.46.3/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.http-client:google-http-client-gson/1.46.3/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[com.google.http-client:google-http-client-bom](https://redirect.github.com/googleapis/google-http-java-client/tree/master/google-http-client-bom)
([source](https://redirect.github.com/googleapis/google-http-java-client))
| `1.46.3` -> `1.47.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.http-client:google-http-client-bom/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.http-client:google-http-client-bom/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.http-client:google-http-client-bom/1.46.3/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.http-client:google-http-client-bom/1.46.3/1.47.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

<details>
<summary>googleapis/google-http-java-client
(com.google.http-client:google-http-client)</summary>

###
[`v1.47.0`](https://redirect.github.com/googleapis/google-http-java-client/blob/HEAD/CHANGELOG.md#1470-2025-04-28)

[Compare
Source](https://redirect.github.com/googleapis/google-http-java-client/compare/v1.46.3...v1.47.0)

##### Features

- Next release from main branch is 1.47.0
([#&#8203;2087](https://redirect.github.com/googleapis/google-http-java-client/issues/2087))
([f89cc4c](https://redirect.github.com/googleapis/google-http-java-client/commit/f89cc4c485c0acf0f22f5efe9706c404f997961d))

##### Bug Fixes

- Encode + sign in url with %2B
([#&#8203;2094](https://redirect.github.com/googleapis/google-http-java-client/issues/2094))
([1f8aca7](https://redirect.github.com/googleapis/google-http-java-client/commit/1f8aca768250f46490e3d3e47903693d3a8e30b8))

##### Dependencies

- Update github/codeql-action action to v3.28.16
([#&#8203;2057](https://redirect.github.com/googleapis/google-http-java-client/issues/2057))
([4fc3e3a](https://redirect.github.com/googleapis/google-http-java-client/commit/4fc3e3a70cd9d0f1ebe5c498920844d3fc020316))

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDAuMTEuOSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
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.34.0` -> `1.35.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-credentials/1.35.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.35.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.34.0/1.35.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.34.0/1.35.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.34.0` -> `1.35.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-oauth2-http/1.35.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.35.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.34.0/1.35.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.34.0/1.35.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.34.0` -> `1.35.0` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.auth:google-auth-library-bom/1.35.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.35.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.34.0/1.35.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.34.0/1.35.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

<details>
<summary>googleapis/google-auth-library-java
(com.google.auth:google-auth-library-credentials)</summary>

###
[`v1.35.0`](https://redirect.github.com/googleapis/google-auth-library-java/blob/HEAD/CHANGELOG.md#1350-2025-05-12)

[Compare
Source](https://redirect.github.com/googleapis/google-auth-library-java/compare/v1.34.0...v1.35.0)

##### Features

- Add support for mTLS authentication via X.509 certificates
([#&#8203;1736](https://redirect.github.com/googleapis/google-auth-library-java/issues/1736))
([b347603](https://redirect.github.com/googleapis/google-auth-library-java/commit/b347603db4deabb4eb34ed14b96178c95d3e7b45))
- Return X509 certificate chain as the subject token.
([#&#8203;1746](https://redirect.github.com/googleapis/google-auth-library-java/issues/1746))
([6d05be8](https://redirect.github.com/googleapis/google-auth-library-java/commit/6d05be8e5cecf62ca0952bc3ef23c527c9e0d01d))

##### Bug Fixes

- Handle optional fields in ExternalAccountCredentials with null JSON
value gracefully
([#&#8203;1706](https://redirect.github.com/googleapis/google-auth-library-java/issues/1706))
([f1f306d](https://redirect.github.com/googleapis/google-auth-library-java/commit/f1f306dffd874741663238283deed173ce02bea9))

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDAuMTEuOSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
chore: update googleapis commit at Fri Apr 18 02:30:30 UTC 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>2.58.0</summary>

##
[2.58.0](googleapis/sdk-platform-java@v2.57.0...v2.58.0)
(2025-05-13)


### Features

* add cloudbuild config to publish image via AR Exit Gate
([#3786](googleapis/sdk-platform-java#3786))
([c3b0bfa](googleapis/sdk-platform-java@c3b0bfa))


### Dependencies

* update google auth library dependencies to v1.35.0
([#3789](googleapis/sdk-platform-java#3789))
([f9ec5ee](googleapis/sdk-platform-java@f9ec5ee))
* update google http client dependencies to v1.47.0
([#3790](googleapis/sdk-platform-java#3790))
([a038745](googleapis/sdk-platform-java@a038745))
</details>

---
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>
🤖 I have created a release *beep* *boop*
---


<details><summary>2.58.1-SNAPSHOT</summary>

### Updating meta-information for bleeding-edge SNAPSHOT release.
</details>

---
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>
….13 (#3794)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[org.jacoco:jacoco-maven-plugin](https://www.jacoco.org/jacoco/trunk/doc/maven.html)
([source](https://redirect.github.com/jacoco/jacoco)) | `0.8.12` ->
`0.8.13` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/org.jacoco:jacoco-maven-plugin/0.8.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jacoco:jacoco-maven-plugin/0.8.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jacoco:jacoco-maven-plugin/0.8.12/0.8.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jacoco:jacoco-maven-plugin/0.8.12/0.8.13?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

<details>
<summary>jacoco/jacoco (org.jacoco:jacoco-maven-plugin)</summary>

###
[`v0.8.13`](https://redirect.github.com/jacoco/jacoco/releases/tag/v0.8.13):
0.8.13

[Compare
Source](https://redirect.github.com/jacoco/jacoco/compare/v0.8.12...v0.8.13)

#### New Features

- JaCoCo now officially supports Java 23 and Java 24 (GitHub
[#&#8203;1757](https://redirect.github.com/jacoco/jacoco/issues/1757),
[#&#8203;1631](https://redirect.github.com/jacoco/jacoco/issues/1631),
[#&#8203;1867](https://redirect.github.com/jacoco/jacoco/issues/1867)).
- Experimental support for Java 25 class files (GitHub
[#&#8203;1807](https://redirect.github.com/jacoco/jacoco/issues/1807)).
- Calculation of line coverage for Kotlin `inline` functions (GitHub
[#&#8203;1670](https://redirect.github.com/jacoco/jacoco/issues/1670)).
- Calculation of line coverage for Kotlin `inline` functions with
`reified` type parameter (GitHub
[#&#8203;1670](https://redirect.github.com/jacoco/jacoco/issues/1670),
[#&#8203;1700](https://redirect.github.com/jacoco/jacoco/issues/1700)).
- Calculation of coverage for Kotlin `JvmSynthetic` functions (GitHub
[#&#8203;1700](https://redirect.github.com/jacoco/jacoco/issues/1700)).
- Part of bytecode generated by the Kotlin Compose compiler plugin is
filtered out during generation of report (GitHub
[#&#8203;1616](https://redirect.github.com/jacoco/jacoco/issues/1616)).
- Part of bytecode generated by the Kotlin compiler for inline value
classes is filtered out during generation of report (GitHub
[#&#8203;1475](https://redirect.github.com/jacoco/jacoco/issues/1475)).
- Part of bytecode generated by the Kotlin compiler for suspending
lambdas without suspension points is filtered out during generation of
report (GitHub
[#&#8203;1283](https://redirect.github.com/jacoco/jacoco/issues/1283)).
- Part of bytecode generated by the Kotlin compiler for when expressions
and statements with nullable enum subject is filtered out during
generation of report (GitHub
[#&#8203;1774](https://redirect.github.com/jacoco/jacoco/issues/1774)).
- Part of bytecode generated by the Kotlin compiler for when expressions
and statements with nullable String subject is filtered out during
generation of report (GitHub
[#&#8203;1769](https://redirect.github.com/jacoco/jacoco/issues/1769)).
- Part of bytecode generated by the Kotlin compiler for chains of safe
call operators is filtered out during generation of report (GitHub
[#&#8203;1810](https://redirect.github.com/jacoco/jacoco/issues/1810),
[#&#8203;1818](https://redirect.github.com/jacoco/jacoco/issues/1818)).
- Method `getEntries` generated by the Kotlin compiler for enum classes
is filtered out during generation of report (GitHub
[#&#8203;1625](https://redirect.github.com/jacoco/jacoco/issues/1625)).
- Methods generated by the Kotlin compiler for constructors and
functions with `JvmOverloads` annotation are filtered out (GitHub
[#&#8203;1768](https://redirect.github.com/jacoco/jacoco/issues/1768)).

#### Fixed bugs

- Fixed interpretation of Kotlin SMAP (GitHub
[#&#8203;1525](https://redirect.github.com/jacoco/jacoco/issues/1525)).
- File extensions are preserved in HTML report in case of clashes of
normalized file names (GitHub
[#&#8203;1660](https://redirect.github.com/jacoco/jacoco/issues/1660)).

#### Non-functional Changes

- JaCoCo build now uses Maven Wrapper and requires at least Maven 3.9.9
(GitHub
[#&#8203;1708](https://redirect.github.com/jacoco/jacoco/issues/1708),
[#&#8203;1707](https://redirect.github.com/jacoco/jacoco/issues/1707),
[#&#8203;1681](https://redirect.github.com/jacoco/jacoco/issues/1681)).
- JaCoCo now depends on ASM 9.8 (GitHub
[#&#8203;1862](https://redirect.github.com/jacoco/jacoco/issues/1862)).
- More context information when `IllegalArgumentException` occurs during
reading of zip file (GitHub
[#&#8203;1833](https://redirect.github.com/jacoco/jacoco/issues/1833)).

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDAuMTEuOSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
This is in order to support graalvm upgrade.  

SecurityManager was removed in JDK 24 so had to upgrade to bazel 7.x
which no longer sets command line params to use it. In upgrading to
bazel 7.x also had to replace transitive_deps to use
transitive_compile_time_jars, as that deprecated method was dropped:
bazelbuild/bazel@72058be
#3800)

So far these versions are managed both by renovate-bot and Hermetic
Build. Since each release of Hermetic Build keeps these template
versions up to date, it's better suited to manage these versions via
Hermetic Build.

The updates should be reflected by updating
`.github/workflows/hermetic_library_generation.yaml` referenced version
to the current released one.
Diego Marquez and others added 6 commits March 17, 2026 15:58
…ests (#4127)

This PR introduces enhancements to the observability layer (tracing and
metrics) by capturing additional context during RPC calls. Specifically,
it adds support for:
1. **HTTP Method Attribute**: Capturing `http.request.method` for
REST-based transports.
2. **Library Metadata**: Capturing `gcp.client.repo` and
`gcp.client.artifact` to identify the source library of the RPC.

## Verification Results
- Verified that `http.request.method` is correctly populated for REST
calls in Showcase integration tests.
- Cloud Trace screenshot:
<img width="1352" height="753" alt="image"
src="https://github.com/user-attachments/assets/b17c171b-704d-4468-9f91-95b3f6363ebc"
/>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Blake Li <blakeli@google.com>
🤖 I have created a release *beep* *boop*
---


<details><summary>2.68.1-SNAPSHOT</summary>

### Updating meta-information for bleeding-edge SNAPSHOT release.
</details>

---
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>
This PR introduces a new tracing attribute `gcp.client.version` to
include the client library version in observability data.

The changes include:

- **hermetic build**:
- The hermetic build scripts are updated to automatically add an entry
for the new `Version.java` file in the `.OwlBot-hermetic.yaml` file for
newly generated libraries.

- **release-please**:
- `release-please-config.json` is updated to ensure that the
`Version.java` file in the showcase client is updated during the release
process.

- Golden files and other generated clients are updated to reflect these
changes.

### Downstream Impact

This change will require modifications in downstream client libraries to
adopt the new `Version.java` file. Specifically:

- `.OwlBot.yaml` files will need to be updated to preserve the
`Version.java` file during OwlBot runs. The hermetic build scripts will
handle this for new libraries, but existing libraries will need to be
updated.
- `release-please.config.json` files in downstream repositories will
need to be updated to include the `Version.java` file in the
`extra-files` section to enable version updates by `release-please`.

### Manual testing

Release please does modify the version string. See
https://github.com/googleapis/sdk-platform-java/pull/4141/changes#diff-7cc6cb6679ef4c6139adc5d9cdc13084773ef22e919bf2e2dce21120c76d6787
Per recent experience, add more examples and guides for testing. Also
add guides for creating PRs.

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@gemini-code-assist

ghost commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request integrates the sdk-platform-java project into the main repository, streamlining its build and release processes. It modernizes the CI/CD pipeline by updating build scripts, introducing new Cloud Build and GitHub Actions workflows, and upgrading Java environments. A substantial portion of the changes involves adding foundational API common utility classes and abstract syntax tree (AST) components, which are crucial for the project's code generation capabilities.

Highlights

  • Monorepo Migration: The sdk-platform-java project has been migrated into the monorepo, involving significant restructuring of build configurations and file locations.
  • Build System Updates: Updated .gitignore to include Bazel artifacts, modified Kokoro build scripts to use mvn install with --also-make, and upgraded Java runtime for integration tests from Java 8 to Java 11.
  • New Build and CI/CD Configurations: Introduced new Cloud Build configurations for GraalVM and library generation, along with GitHub Actions scripts for hermetic library generation and dependency compatibility testing.
  • Core API Common Utilities: Added a comprehensive set of core API common Java utility classes, including ApiFuture, ApiService, PathTemplate, and various AST nodes for code generation.
  • Release and Generation Tooling: Updated release-please-config.json to track new files and added scripts for updating googleapis commits and pre-commit hooks.
Ignored Files
  • Ignored by pattern: .github/workflows/** (15)
    • .github/workflows/ci.yaml
    • .github/workflows/generated_files_sync.yaml
    • .github/workflows/hermetic_library_generation.yaml
    • .github/workflows/sdk-platform-java-analyze_dependency.yaml
    • .github/workflows/sdk-platform-java-ci.yaml
    • .github/workflows/sdk-platform-java-create_additional_release_tag.yaml
    • .github/workflows/sdk-platform-java-dependency_compatibility_test.yaml
    • .github/workflows/sdk-platform-java-downstream.yaml
    • .github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml
    • .github/workflows/sdk-platform-java-downstream_unmanaged_dependency_check.yaml
    • .github/workflows/sdk-platform-java-java_compatibility_check.yaml
    • .github/workflows/sdk-platform-java-nightly.yaml
    • .github/workflows/sdk-platform-java-shared_dependencies.yaml
    • .github/workflows/sdk-platform-java-verify_library_generation.yaml
    • .github/workflows/unmanaged_dependency_check.yaml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@chingor13
chingor13 force-pushed the migrate-sdk-platform-java-2 branch 2 times, most recently from 00622c9 to 6526e83 Compare March 20, 2026 20:40

ghost left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request migrates the sdk-platform-java repository into the monorepo, which is a significant undertaking involving many new and modified configuration files, build scripts, and source files. The changes are generally well-executed and align with the goal of a monorepo structure. I've identified a few issues, including a critical typo in the release configuration, a bug in a pre-commit hook, some opportunities for improving script efficiency and code maintainability, and a few bugs in the newly added generator source code. Addressing these points will help ensure the stability and correctness of the new monorepo setup.

Comment thread release-please-config.json Resolved
Comment thread sdk-platform-java/.githooks/pre-commit Resolved
Comment thread .kokoro/build.sh Resolved
@chingor13
chingor13 force-pushed the migrate-sdk-platform-java-2 branch 2 times, most recently from b570571 to 36152c1 Compare March 20, 2026 21:01
Diego Marquez and others added 2 commits March 20, 2026 23:11
Introduces `gcp.grpc.resend_count` and `http.request.resend_count` by
relying on the parameter passed to `ApiTracer`.

---

### Reliability of `attemptNumber` in `ApiTracer`

The `attemptNumber` is passed from the retrying logic in `gax-java/gax`.

For unary calls, here is an example of how the overall attempt count
behaves:

**How it is updated:**
The attempt count is managed by the retry algorithms. For example,
`ExponentialRetryAlgorithm` is thread-safe and creates immutable
`TimedAttemptSettings`. It initializes `overallAttemptCount` to `0` and
increments it for each subsequent attempt.
```java
// gax-java/gax/src/main/java/com/google/api/gax/retrying/ExponentialRetryAlgorithm.java

  @OverRide
  public TimedAttemptSettings createFirstAttempt() {
    return TimedAttemptSettings.newBuilder()
        // ...
        .setOverallAttemptCount(0)
        // ...
        .build();
  }

  @OverRide
  public TimedAttemptSettings createNextAttempt(TimedAttemptSettings previousSettings) {
    // ...
    return TimedAttemptSettings.newBuilder()
        // ...
        .setOverallAttemptCount(previousSettings.getOverallAttemptCount() + 1)
        // ...
        .build();
  }
```

**How it is consumed:**
`AttemptCallable` executes unary calls. `externalFuture` is marked as
`volatile` to handle potential visibility between the thread that
schedules the retry and the thread executing `call()`. Before starting
the RPC call, `AttemptCallable` invokes `attemptStarted` using the
`overallAttemptCount` from `externalFuture`.
```java
// gax-java/gax/src/main/java/com/google/api/gax/rpc/AttemptCallable.java

class AttemptCallable<RequestT, ResponseT> implements Callable<ResponseT> {
  // ...
  private volatile RetryingFuture<ResponseT> externalFuture;
  // ...
  @OverRide
  public ResponseT call() {
    // ...
    callContext
        .getTracer()
        .attemptStarted(request, externalFuture.getAttemptSettings().getOverallAttemptCount());
    // ...
  }
}
```

**Thread Safety:**
Attempts for a single RPC are strictly sequential; a new attempt is only
constructed and scheduled after the previous attempt fails and the retry
delay elapses. `ExponentialRetryAlgorithm` is thread-safe,
`TimedAttemptSettings` is immutable, and the `externalFuture` reference
inside `AttemptCallable` is `volatile`. This combination ensures
thread-safe observation of the linearly increasing
`overallAttemptCount`.

#### Conclusion

Since the retrying infrastructure sequentially updates and consumes
`getOverallAttemptCount()` in a thread-safe manner, we can confidently
and safely use `attemptNumber` in `SpanTracer` to populate the
`rpc.grpc.resend_count` or `rpc.http.resend_count` attributes. This
approach directly leverages the existing reliable retry logic rather
than implementing a redundant internal counter.
This PR introduces the `logActionableError` utility method to the core
`LoggingUtils` class within the `gax` module.

This will be used by an upcoming gRPC interceptor (`gax-grpc`) and
HTTP/JSON interceptor (`gax-httpjson`).
@chingor13
chingor13 force-pushed the migrate-sdk-platform-java-2 branch 2 times, most recently from 2e210b2 to f858b35 Compare March 23, 2026 18:03
This PR updates the `gapic-generator-java` and GAPIC core telemetry
layer to extract destination resource names from request payloads via
`google.api.resource_reference`.

### Changes:
- **Generator Logic:** `AbstractTransportServiceStubClassComposer` was
updated to securely parse `resource_reference` annotations and emit
`.setResourceNameExtractor(...)` logic onto stub settings upon
compilation. Added safeguard logic for repeated fields.
- **Unary Trace Injection:** Engineered `GrpcCallSettings`,
`HttpJsonCallSettings`, and `TracedUnaryCallable` to securely intercept
requests right before initiating the trace, cloning and stamping the
resource value to the active Observability map.
- **ApiTracerContext:** Added `destinationResourceId` to
`ApiTracerContext` to propagate upstream context.
- **Showcase:** Updated existing showcase tests to use `IdentityClient`
instead of `EchoClient`. Because `EchoClient` does not have any message
that is configured with `resource_reference`.

This is a first PR for implementing [Destination resource
names](https://docs.google.com/document/d/1BC_zKVqnUepwTBrPZD-_5k05iTCEJ1FPYpIy84xTg0w/edit?resourcekey=0-0DZjRRjXZEBJHIiO4epFhA&tab=t.0#heading=h.8wfyp5eifh22).
There will be a follow up PR that extract resource names based on
heuristics if resource names are not explicitly configured.

---------

Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
@chingor13
chingor13 marked this pull request as ready for review March 23, 2026 18:55
@chingor13
chingor13 requested a review from a team as a code owner March 23, 2026 18:55
@snippet-bot

ghost commented Mar 23, 2026 •

Copy link
Copy Markdown

Here is the summary of changes.

You are about to add 1246 region tags.

This comment is generated by snippet-bot.
If you find problems with this result, please file an issue at:
https://github.com/googleapis/repo-automation-bots/issues.
To update this comment, add snippet-bot:force-run label or use the checkbox below:

  • Refresh this comment

Thank you for opening a Pull Request! Before submitting your PR, please
read our [contributing
guidelines](https://github.com/googleapis/gapic-generator-java/blob/main/CONTRIBUTING.md).

There are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a
[bug/issue](https://github.com/googleapis/gapic-generator-java/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> ☕️
@chingor13
chingor13 requested review from blakeli0 and meltsufin March 23, 2026 19:49
@chingor13
chingor13 force-pushed the migrate-sdk-platform-java-2 branch from f858b35 to ee4d71a Compare March 23, 2026 21:06
@chingor13
chingor13 merged commit 18be0bf into main Mar 24, 2026
@chingor13
chingor13 deleted the migrate-sdk-platform-java-2 branch March 24, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.