fix(internal/serviceconfig): enable Firestore library generation for Java#5967
Merged
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request enables Java support for Firestore bundles and admin APIs within the migration tool. Key changes include updating the SDK configuration to include Java for Firestore bundles, adding specific artifact ID overrides for Firestore admin and bundle paths, and introducing a samples field to the Java artifact override structure. Additionally, Firestore is added to the list of services for which POM updates are skipped. I have no feedback to provide as there were no review comments.
zhumin8
reviewed
May 12, 2026
…ackage subdirectories (#5965) When running `librarian generate --all` or concurrent generations in parallel async threads, the Go engine's Node.js post-processor executed a sweeping `os.RemoveAll` cleanup on the shared top-level `owl-bot- staging/` folder. This pulled the directory out from underneath other active parallel compilation processes, leading to random `No such file or directory` crashes. This patch isolates the post-processor cleanup to package-specific subdirectories (`owl-bot-staging/<package_name>`), eliminating the parallel staging deletion race condition. Closes #5957
#5966) This pull request updates the central allowed-languages configuration to authorize Node.js generation natively for the following released packages: 1. `google-maps-geocode` 2. `google-cloud-databasecenter` Both packages have released versions inside the monorepo, but code generation was previously blocked because `nodejs` was omitted from the allowed languages list inside `internal/serviceconfig/sdk.yaml`. Closes #5951
Dockerfile does not need args for versions of python packages. These were removed in #5694 but only from the top-level; they are now removed from the python stage as well.
… proto module and copy (#5903) Introduce a config `additional_protos_to_generate_and_copy` to fulfill generation of os-login. This is different from the existing `additional_protos` used for mixed-ins, in additional to be included in gapic generation phase, this needs to be included in proto generation phase and proto copy. Fix #5685
…5973) The version of gapic-generator in the embedded librarian.yaml (used by librarian install) is updated to v1.32.0. This will update the generated code and documentation in terms of supported Python versions, and will unblock dialogflow generation.
We want every method to have an overload consuming the `RequestOptions` parameter. That parameter will be used to override the default retry policies, timeouts, and other configuration set at the client level.
…gtable (#5977) Set artifact id overrides for "google/bigtable/admin/v2" and no sample for bigtable. These are inferred from copy rules in [java-bigtable/.OwlBot-hermetic.yaml](https://github.com/googleapis/google-cloud-java/blob/main/java-bigtable/.OwlBot-hermetic.yaml). For #5740
…_pom_updates (#5948) When skip_pom_updates is true, identify missing modules step should return nil, so that no new entries to versions.txt are added. This was missed in original #5660. This check centralized inside `discoverModules`. `IdentifyMissingModules` takes in srcs instead of googleapisDir to correctly process showcase. For #5731
…try (#5976) The config is restructured to embed Java-specific API settings directly inside each API entry. Previously, the configuration required duplicating the same API path in both the general APIs list and the Java-specific APIs list. Moving the Java configuration under the API struct eliminates this duplication and prevents configuration drift. Additionally, the configuration tidy logic now automatically cleans up any empty Java configurations to maintain a minimal file output. Fix #5974
The bump, tag, and publish commands are not supported, except for some cases for Rust. Hide them from the help text to avoid confusion.
…le/maps/geocode/v4 (#5984) Remove release_level override for google/maps/geocode/v4, preview is explicit set in [generation_config.yaml](https://github.com/googleapis/google-cloud-java/blob/fe81dfeaf86c010681da2b76d47085816015e4cd/generation_config.yaml#L1661) for this API path. This is reflected in [.repo-metadata.json](https://github.com/googleapis/google-cloud-java/blob/fe81dfeaf86c010681da2b76d47085816015e4cd/java-maps-geocode/.repo-metadata.json#L7). Fix #5589
…5986) Bumps [github.com/go-git/go-billy/v5](https://github.com/go-git/go-billy) from 5.8.0 to 5.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/go-git/go-billy/releases">github.com/go-git/go-billy/v5's releases</a>.</em></p> <blockquote> <h2>v5.9.0</h2> <h2>What's Changed</h2> <ul> <li>Use path.Clean instead of filepath.Clean in iofs.Open by <a href="https://github.com/puerco"><code>@puerco</code></a> in <a href="https://redirect.github.com/go-git/go-billy/pull/197">go-git/go-billy#197</a></li> <li>Deprecate ChrootOS in favour of BoundOS by <a href="https://github.com/pjbgf"><code>@pjbgf</code></a> in <a href="https://redirect.github.com/go-git/go-billy/pull/201">go-git/go-billy#201</a></li> <li>General Improvements by <a href="https://github.com/pjbgf"><code>@pjbgf</code></a> in <a href="https://redirect.github.com/go-git/go-billy/pull/203">go-git/go-billy#203</a></li> <li>osfs: ChrootOS eval baseDir on creation by <a href="https://github.com/pjbgf"><code>@pjbgf</code></a> in <a href="https://redirect.github.com/go-git/go-billy/pull/205">go-git/go-billy#205</a></li> <li>Run go-git tests as part of integration tests by <a href="https://github.com/pjbgf"><code>@pjbgf</code></a> in <a href="https://redirect.github.com/go-git/go-billy/pull/206">go-git/go-billy#206</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/go-git/go-billy/compare/v5.8.0...v5.9.0">https://github.com/go-git/go-billy/compare/v5.8.0...v5.9.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/go-git/go-billy/commit/237e529bb8de61704047f71a5ab1c8e6676492f1"><code>237e529</code></a> Merge pull request <a href="https://redirect.github.com/go-git/go-billy/issues/206">#206</a> from pjbgf/v5-improvements</li> <li><a href="https://github.com/go-git/go-billy/commit/04edb394b39979b5cbdec30ded6abdcb9f7786c5"><code>04edb39</code></a> build: Add go-git integration test</li> <li><a href="https://github.com/go-git/go-billy/commit/d8efefd33b2e8eeea1030e317bb0d71c5e918270"><code>d8efefd</code></a> osfs: preserve empty ChrootOS base</li> <li><a href="https://github.com/go-git/go-billy/commit/07f2a0bf50e42d438d1d9d263c3c8a22598985b8"><code>07f2a0b</code></a> Merge pull request <a href="https://redirect.github.com/go-git/go-billy/issues/205">#205</a> from pjbgf/v5-improvements</li> <li><a href="https://github.com/go-git/go-billy/commit/25207c8468f1af656953cb5db7030aad5df1fe99"><code>25207c8</code></a> build: Bump Go versions in workflows</li> <li><a href="https://github.com/go-git/go-billy/commit/2fda229d9ac0cb5ba654ebc824cfbb90248f82d9"><code>2fda229</code></a> osfs: ChrootOS eval baseDir on creation</li> <li><a href="https://github.com/go-git/go-billy/commit/427b27f32f22de11498a682c65cd5060a01ec168"><code>427b27f</code></a> Merge pull request <a href="https://redirect.github.com/go-git/go-billy/issues/203">#203</a> from pjbgf/v5-improvements</li> <li><a href="https://github.com/go-git/go-billy/commit/7d5a23ece03edc171c1f63c8fa73f84c8428bf17"><code>7d5a23e</code></a> chroot: Reject symlink loops</li> <li><a href="https://github.com/go-git/go-billy/commit/2c2287a233d2ee1e6cdce8956141f6d10505f3bf"><code>2c2287a</code></a> util: avoid following symlinks in RemoveAll fallback</li> <li><a href="https://github.com/go-git/go-billy/commit/cbd88e9a9a2d7fe1065bbe083d8bf0c5fd7290de"><code>cbd88e9</code></a> Fix mount path handling</li> <li>Additional commits viewable in <a href="https://github.com/go-git/go-billy/compare/v5.8.0...v5.9.0">compare view</a></li> </ul> </details> <br /> [](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) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> 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/librarian/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Julie Qiu <julieqiu@google.com>
…5947) [//]: # (dependabot-start)⚠️ **Dependabot is rebasing this PR**⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.18.0 to 5.19.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/go-git/go-git/releases">github.com/go-git/go-git/v5's releases</a>.</em></p> <blockquote> <h2>v5.19.0</h2> <h2>What's Changed</h2> <ul> <li>build: Update module github.com/go-git/go-git/v5 to v5.18.0 [SECURITY] (releases/v5.x) by <a href="https://github.com/go-git-renovate"><code>@go-git-renovate</code></a>[bot] in <a href="https://redirect.github.com/go-git/go-git/pull/2010">go-git/go-git#2010</a></li> <li>v5: Bump sha1cd and go-billy by <a href="https://github.com/pjbgf"><code>@pjbgf</code></a> in <a href="https://redirect.github.com/go-git/go-git/pull/2060">go-git/go-git#2060</a></li> <li>v5: Align object encoding with upstream by <a href="https://github.com/pjbgf"><code>@pjbgf</code></a> in <a href="https://redirect.github.com/go-git/go-git/pull/2065">go-git/go-git#2065</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/go-git/go-git/compare/v5.18.0...v5.19.0">https://github.com/go-git/go-git/compare/v5.18.0...v5.19.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/go-git/go-git/commit/bc930f4cbe095a3e1d49273655f73fcef7d41a42"><code>bc930f4</code></a> Merge pull request <a href="https://redirect.github.com/go-git/go-git/issues/2065">#2065</a> from go-git/commit-v5</li> <li><a href="https://github.com/go-git/go-git/commit/d315264343cead712aa9eb56475c2ec96f5ecef1"><code>d315264</code></a> plumbing: object, Reset object before decode</li> <li><a href="https://github.com/go-git/go-git/commit/6e1d34890a4dae8a0df738e531234bd60b7e9b66"><code>6e1d348</code></a> plumbing: object, Align Tree handling with upstream</li> <li><a href="https://github.com/go-git/go-git/commit/e134ba34cf95ed0167e5b1df36a933d7bde9d02d"><code>e134ba3</code></a> tests: Skip double checks in Git v2.11</li> <li><a href="https://github.com/go-git/go-git/commit/1971422f6b1bec9176061b3293306981cfff981e"><code>1971422</code></a> tests: Add git conformance tests for signing verification</li> <li><a href="https://github.com/go-git/go-git/commit/a387aa8857a8fbba8e74b7f5485e9e030669ab5d"><code>a387aa8</code></a> plumbing: object, Add ErrMalformedTag</li> <li><a href="https://github.com/go-git/go-git/commit/f415670d906b5c6169d1fdc64f3f9f1d33eb6f9c"><code>f415670</code></a> plumbing: object, Decode Tag headers via a state machine</li> <li><a href="https://github.com/go-git/go-git/commit/5b0cd38a62e2336bb5f1a2ad0eb8ac8f9e7b740e"><code>5b0cd38</code></a> plumbing: object, Reject multi-signature commits at Verify</li> <li><a href="https://github.com/go-git/go-git/commit/fe8ed6223a6079d9fd84d853362a996e7df175fb"><code>fe8ed62</code></a> plumbing: object, Align Tag.EncodeWithoutSignature with Commit</li> <li><a href="https://github.com/go-git/go-git/commit/98e337d5bdc4c0536a40ab7381b2231f7e0b15cd"><code>98e337d</code></a> plumbing: object, Add support for Tag.SignatureSHA256</li> <li>Additional commits viewable in <a href="https://github.com/go-git/go-git/compare/v5.18.0...v5.19.0">compare view</a></li> </ul> </details> <br /> [](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) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 show <dependency name> 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/librarian/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The Dockerfile now uses v33.2 of protoc for nodejs. This does not change the generated output at all. Fixes #5284
NodeJS libraries do not derive API paths from the library name. The library name doesn't include a variant (v1beta, v1 etc) so it's unsuitable for deriving an API path. Handwritten libraries can be represented by simply omitting API paths, as is already the case for Go and Python. Fixes #5970
…Is (#5996) google/cloud/osconfig/v1beta and google/cloud/bigquery/connection/v1beta1 are currently generated for NodeJS, so need to be allow-listed in librarian.
The paginated overloads for RPCs should be included in the service's protocol functions. Note: a protocol return type within a protocol MUST be `any` because there is no way for the compiler to infer the return type. This also means that the implementation cannot specify `some` because it does not match the function signature.
…paths (#5998) The "librarian add" command is updated to add a new API path to an existing library for nodejs when the new path matches a path in that library, modulo the version at the end. More subtelty may be needed later, but this will handle simple situations as well as putting in place the framework for later logic to fit into. Towards #5971
…rary (#5905) Ensures that when a new Java client library is generated for the first time, the post-processor dynamically templates and writes `owlbot.py` if it is missing from the output directory. This aligns Librarian with the legacy Python hermetic build's prerequisite setup and prevents "owlbot.py not found" errors. Fixes #5679
Signed-off-by: sofisl <55454395+sofisl@users.noreply.github.com>
zhumin8
approved these changes
May 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Support for generating the Cloud Firestore client library in Java is added by allowing Java generation for the google/firestore/bundle API path in the SDK service configuration.
Fixes #5958