Skip to content

chore(firestore): migrate java-firestore to monorepo #12985

Draft
meltsufin wants to merge 2104 commits intomainfrom
migrate-java-firestore
Draft

chore(firestore): migrate java-firestore to monorepo #12985
meltsufin wants to merge 2104 commits intomainfrom
migrate-java-firestore

Conversation

@meltsufin
Copy link
Copy Markdown
Member

Using script from here: #12962.

renovate-bot and others added 30 commits March 20, 2025 11:07
… to v0.34.0 (#2046)

Co-authored-by: Tom Andersen <tom-andersen@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
#2059)

* chore: Update generation configuration at Sat Mar 22 02:27:48 UTC 2025

* chore: generate libraries at Sat Mar 22 02:28:28 UTC 2025
* chore(main): release 3.30.12

* chore: generate libraries at Sat Mar 22 13:46:39 UTC 2025

---------

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>
* chore(main): release 3.30.13-SNAPSHOT

* chore: generate libraries at Tue Mar 25 13:19:20 UTC 2025

---------

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>
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [io.opentelemetry:opentelemetry-sdk-common](https://redirect.github.com/open-telemetry/opentelemetry-java) | `1.48.0` -> `1.49.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry:opentelemetry-sdk-common/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.opentelemetry:opentelemetry-sdk-common/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.opentelemetry:opentelemetry-sdk-common/1.48.0/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry:opentelemetry-sdk-common/1.48.0/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [io.opentelemetry:opentelemetry-sdk-trace](https://redirect.github.com/open-telemetry/opentelemetry-java) | `1.48.0` -> `1.49.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry:opentelemetry-sdk-trace/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.opentelemetry:opentelemetry-sdk-trace/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.opentelemetry:opentelemetry-sdk-trace/1.48.0/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry:opentelemetry-sdk-trace/1.48.0/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [io.opentelemetry:opentelemetry-sdk-testing](https://redirect.github.com/open-telemetry/opentelemetry-java) | `1.48.0` -> `1.49.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry:opentelemetry-sdk-testing/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.opentelemetry:opentelemetry-sdk-testing/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.opentelemetry:opentelemetry-sdk-testing/1.48.0/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry:opentelemetry-sdk-testing/1.48.0/1.49.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-java (io.opentelemetry:opentelemetry-sdk-common)</summary>

### [`v1.49.0`](https://redirect.github.com/open-telemetry/opentelemetry-java/blob/HEAD/CHANGELOG.md#Version-1490-2025-04-04)

[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java/compare/v1.48.0...v1.49.0)

##### SDK

##### Trace

-   Avoid linear queue.size() calls in span producers by storing queue size separately
    ([#&#8203;7141](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7141))

##### Exporters

-   OTLP: Add support for setting exporter executor service
    ([#&#8203;7152](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7152))
-   OTLP: Refine delay jitter for exponential backoff
    ([#&#8203;7206](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7206))

##### Extensions

-   Autoconfigure: Remove support for otel.experimental.exporter.otlp.retry.enabled
    ([#&#8203;7200](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7200))
-   Autoconfigure: Add stable cardinality limit property otel.java.metrics.cardinality.limit
    ([#&#8203;7199](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7199))
-   Incubator: Add declarative config model customizer SPI
    ([#&#8203;7118](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/7118))

</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/java-firestore).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
…o v2.44.4 (#2071)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.diffplug.spotless:spotless-maven-plugin](https://redirect.github.com/diffplug/spotless) | `2.44.3` -> `2.44.4` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.diffplug.spotless:spotless-maven-plugin/2.44.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.diffplug.spotless:spotless-maven-plugin/2.44.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.diffplug.spotless:spotless-maven-plugin/2.44.3/2.44.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.diffplug.spotless:spotless-maven-plugin/2.44.3/2.44.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### 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/java-firestore).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
* chore(main): release 3.30.13

* chore: generate libraries at Tue Apr  8 13:09:08 UTC 2025

---------

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: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
#2079)

* chore: Update generation configuration at Mon Apr 21 22:11:35 UTC 2025

* Update hermetic_library_generation.yaml

* Update generation_config.yaml

* chore: generate libraries at Mon Apr 21 22:32:36 UTC 2025

* chore: Update generation configuration at Tue Apr 22 02:30:55 UTC 2025

* chore: update build.sh to use latest formatter

* chore: use java 17 in samples check

* chore: udpate clirr

---------

Co-authored-by: Blake Li <blakeli@google.com>
Co-authored-by: Diego Marquez <diegomarquezp@google.com>
#2080)

* chore: Update generation configuration at Wed Apr 23 02:31:18 UTC 2025

* chore: generate libraries at Wed Apr 23 02:31:46 UTC 2025
* chore(main): release 3.31.0

* chore: generate libraries at Wed Apr 23 16:00:17 UTC 2025

---------

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: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
#2089)

* chore: Update generation configuration at Thu Apr 24 14:56:31 UTC 2025

* chore: generate libraries at Thu Apr 24 14:57:09 UTC 2025

* chore: remove old graalvm jobs

* chore: Update generation configuration at Fri Apr 25 02:31:46 UTC 2025

* chore: restore custom configuration

---------

Co-authored-by: Diego Marquez <diegomarquezp@google.com>
* chore(main): release 3.31.1

* chore: generate libraries at Fri Apr 25 16:23:10 UTC 2025

---------

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>
diegomarquezp and others added 9 commits April 14, 2026 13:33
* deps: update sdk-platform-java-config to 3.60.0

* fix: correct version

---------

Co-authored-by: Blake Li <blakeli@google.com>
#2347)

* chore: Update generation configuration at Tue Mar 24 02:54:55 UTC 2026

* chore: Update generation configuration at Wed Mar 25 02:57:21 UTC 2026

* chore: Update generation configuration at Thu Mar 26 02:58:46 UTC 2026

* chore: generate libraries at Thu Mar 26 02:59:18 UTC 2026

* chore: Update generation configuration at Fri Mar 27 02:58:48 UTC 2026

* chore: generate libraries at Fri Mar 27 02:59:17 UTC 2026

* chore: Update generation configuration at Sat Mar 28 02:56:40 UTC 2026

* chore: generate libraries at Sat Mar 28 02:57:09 UTC 2026

* chore: Update generation configuration at Tue Mar 31 02:58:49 UTC 2026

* chore: Update generation configuration at Wed Apr  1 02:59:23 UTC 2026

* chore: Update generation configuration at Thu Apr  2 02:58:38 UTC 2026

* chore: Update generation configuration at Fri Apr  3 02:58:58 UTC 2026

* chore: Update generation configuration at Tue Apr  7 02:58:53 UTC 2026

* chore: Update generation configuration at Wed Apr  8 02:59:05 UTC 2026

* chore: Update generation configuration at Thu Apr  9 02:58:39 UTC 2026

* chore: Update generation configuration at Fri Apr 10 02:59:23 UTC 2026

* chore: Update generation configuration at Sat Apr 11 02:57:55 UTC 2026

* chore: Update generation configuration at Mon Apr 13 02:59:37 UTC 2026

* chore: Update generation configuration at Tue Apr 14 02:59:06 UTC 2026

* fix: point to correct location of hermetic script

* fix: correct action version

* chore: generate libraries at Tue Apr 14 13:46:50 UTC 2026

* build: point to right unmanaged dep check

* deps: update generator version to 2.71.0

---------

Co-authored-by: Diego Marquez <diegomarquezp@google.com>
* chore(main): release 3.41.0

* chore: generate libraries at Tue Apr 14 19:32:31 UTC 2026

* fix: restore Version.java

---------

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: Diego Marquez <diegomarquezp@google.com>
Ensures that Pipeline.execute() calls within a transaction follow the
requirement that all reads must occur before any writes. Previously,
this check was missing from the execute() methods in
ServerSideTransaction.
…legate to backend (#2356)

* Remove validation check

* allow the subquery test to run in prod env

* chore: generate libraries at Mon Apr 13 17:41:06 UTC 2026

---------

Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
…nsaction (#2348)

* fix execute options for ServerSideTransaction.java

* fix: Fix sending of Pipeline options when running a Pipeline in a transaction

* test: Fix invalid foo option in ITPipelineTest

* chore: generate libraries at Mon Apr 20 20:23:08 UTC 2026

---------

Co-authored-by: wu-hui <53845758+wu-hui@users.noreply.github.com>
Co-authored-by: wu-hui <wu.hui.github@gmail.com>
Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
* chore: Stop referencing googleapis/sdk-platform-java

* chore: generate libraries at Tue Apr 21 17:38:38 UTC 2026

* chore: Use gapic-libraries-bom version for tags

---------

Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
* chore(firestore): rename nameddb to enterprise

* chore: generate libraries at Mon Apr 20 19:53:10 UTC 2026

* chore: generate libraries at Tue Apr 21 17:01:08 UTC 2026

---------

Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
@meltsufin meltsufin changed the title chore(pubsub): migrate java-firestore to monorepo chore(firestore): migrate java-firestore to monorepo May 3, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

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 Cloud Firestore Java client into the repository, introducing the core library, admin client, and BOM. The changes include support for aggregate queries, bulk writing, and data pipelines, along with necessary Kokoro and OwlBot configurations. However, the migration appears incomplete as several critical classes referenced in FirestoreImpl.java—RecursiveDelete, ReadTimeTransaction, and ServerSideTransactionRunner—are missing from the PR, which will lead to compilation errors.

@Nonnull
@VisibleForTesting
ApiFuture<Void> recursiveDelete(
ResourcePath path, @Nonnull BulkWriter bulkWriter, int maxLimit, int minLimit) {
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.

critical

The class RecursiveDelete is referenced here but does not appear to be included in the pull request. This will cause compilation errors. Please ensure all necessary files for the java-firestore migration are included.

if (transactionOptions.getReadTime() != null) {
// READ_ONLY transactions with readTime have no retry, nor transaction state, so we don't
// need a runner.
result =
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.

critical

The class ReadTimeTransaction is referenced but missing from the PR. This will lead to compilation failures.

updateFunction.updateCallback(
new ReadTimeTransaction(this, transactionOptions.getReadTime()));
} else {
// For READ_ONLY transactions without readTime, there is still strong consistency applied,
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.

critical

The class ServerSideTransactionRunner is referenced but missing from the PR.

@meltsufin meltsufin force-pushed the migrate-java-firestore branch from 0ed7967 to 7301446 Compare May 4, 2026 11:41
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.