Skip to content

Commit a35a59e

Browse files
kolea2jainsahabgcf-owl-bot[bot]dependabot[bot]
authored
feat: enable experimental grpc support (#1419)
* chore: Importing auto-generated code from googleapis-gen (#1235) * Script to setup generated code from googleapis-gen * fixing script and gitignore * adding generated code * add maven config for new grpc module * fixing script * owlbot config to fetch grpc and gapic modules for V1 * fix lint * Revert "add maven config for new grpc module" This reverts commit 7769d8083a84f3ae9255c51c3ecb01fbfdd49320. * Reapply "add maven config for new grpc module" This reverts commit 759475d121afa772f66f549958e8b092cf3c5f0a. * remove unused dependency * fix library version * fix library version * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * removing exclusion of grpc-google-cloud-datastore-v1 module from repo metadata * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * refactor: Swap usage of HttpDatastoreRpc with GrpcDatastoreRpc (#1240) * Create basic structure of GrpcDatastoreRpc and using it in DatastoreOptions * applying unary settings to all the unary methods * Configuring header provider for GrpcDatastoreRpc * fixing emulator tests to be able to run successfully with grpc now * ignoring one more test which will be fixed in actionable error implementation * Making HttpDatastoreRpc completely unused * Making GrpcDatastoreRpc implement AutoCloseable * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * incorporating feedbacks * pinging emulator after each test for debugging * Revert "pinging emulator after each test for debugging" This reverts commit 60ee45d27412aab8140fc7065010633cf59a0ae8. * Reapply "pinging emulator after each test for debugging" This reverts commit d42e3b995fe56ded8c5f080a262e8ea02c00c9d9. * more debugging * Constant ping to avoid flaky behaviour of /shutdown endpoint * fixing test * checking if emulator is running before sending a shutdown command * fix lint * implement helper method for localhost * fix header lint * moving emulator health check to src/test * fix lint * adding no extra headers * minor cleanup * using mutlipleAttemptsRule in DatastoreTest * Revert "adding no extra headers" This reverts commit 9b43798422dc0627b1b2bc6dea8b9f4169682292. * using classRule --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * feat!: Actionable Error (#1244) * Create basic structure of GrpcDatastoreRpc and using it in DatastoreOptions * applying unary settings to all the unary methods * Configuring header provider for GrpcDatastoreRpc * fixing emulator tests to be able to run successfully with grpc now * ignoring one more test which will be fixed in actionable error implementation * Making HttpDatastoreRpc completely unused * Making GrpcDatastoreRpc implement AutoCloseable * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * incorporating feedbacks * pinging emulator after each test for debugging * Revert "pinging emulator after each test for debugging" This reverts commit 60ee45d27412aab8140fc7065010633cf59a0ae8. * Reapply "pinging emulator after each test for debugging" This reverts commit d42e3b995fe56ded8c5f080a262e8ea02c00c9d9. * more debugging * Constant ping to avoid flaky behaviour of /shutdown endpoint * fixing test * checking if emulator is running before sending a shutdown command * fix lint * implement helper method for localhost * fix header lint * moving emulator health check to src/test * fix lint * adding no extra headers * minor cleanup * Making DatastoreException extend BaseGrpcServiceException * Creating DatastoreException through ApiException and exposing methods to extract out domain, reason and metadata * Wrapping ApiException in DatastoreException before throwing it * adding clirr configuration * javadoc for getReason * deleting unused file * enabling tests which were ignore for actionable error implementation * added clirr comments * fix lint --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * feat!: Making Datastore implement Closeable (#1246) * Making Datastore closeable and fixing integration test * Closing datastore in datastore test * fix lint * fix clirr config * test to verify if datastore client is getting closed after invoking close() method * Using a consistent port and reinitializing Datastore instance in @BeforeClass method * trying to fix connection reset problem * upgrading datastore emulator to fix DatastoreTest * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * feat: enabling regapic by giving an option to user to use http (#1261) * feat: enabling regapic by giving an option to user to use http * enabling retry settings * fix lint * fix deps failure * fix deps failure * trying out ipv6 address resolution * Revert "trying out ipv6 address resolution" This reverts commit 1bf0e299b163df5ad7c510fdce6dc71d681801b5. * upgrading emulator * fix lint * downgrading to 2.0.2 to maintain java 8 compatibility * incorporating feedbacks * test retry settings while configuring DatastoreRpc instance * fix test * fix header * fix clirr check * fix lint * fix integration test * fix lint * incorporating feedback * test: Creating multi db rule to run tests multiple times against different named databases. (#1270) * integrating aggregation integration test with multidb rule * integrating multidb rule with ITDatastoreTest * addressing feedbacks * feat: remove `@BetaApi` annotations from get/setDatabaseId methods (#1277) Cherry pick of #1272 * feat!: mark interfaces as `@InternalExtensionOnly` (#1275) * feat!: mark interfaces as `@InternalExtensionOnly` * lint * refactor: rename internal class QueryAndReadOptions to QueryConfig (#1245) (#1283) (cherry picked from commit 41d43e852d07a9026ae5be2add860c1f6980c7d6) * deps: remove dependency on datastore-v1-proto-client module in google-cloud-datastore (#1281) * feat: use existing transport options API to set transport (#1276) * feat: use existing transport options API to set transport * lint * remove stale test * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * deps: bump com.google.truth:truth from 1.1.5 to 1.4.0 (#1323) Bumps [com.google.truth:truth](https://togithub.com/google/truth) from 1.1.5 to 1.4.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://togithub.com/google/truth/releases">com.google.truth:truth's releases</a>.</em></p> <blockquote> <h2>1.4.0</h2> <p>In this release, our assertions on Java 8 types continue to move from the <code>Truth8</code> class to the main <code>Truth</code> class. This change should not break compatibility for any supported JDK or Android version, even users who test under old versions of Android without <a href="https://developer.android.com/studio/write/java8-support#library-desugaring">API desugaring</a>. Additionally, we will never break binary compatibility, though some users will have to make changes to their source code in order for it to compile against newer versions.</p> <p>This release is likely to lead to more <strong>build failures</strong> than <a href="https://togithub.com/google/truth/releases/tag/v1.3.0">1.3.0</a> did. However, those failures should be <strong>straightforward to fix</strong>.</p> <h2>Example build failure</h2> <pre><code>Foo.java:152: error: reference to assertThat is ambiguous assertThat(repo.findFileWithName(&quot;foo&quot;)).isNull(); ^ both method assertThat(@org.jspecify.nullness.Nullable Path) in Truth8 and method assertThat(@org.jspecify.nullness.Nullable Path) in Truth match </code></pre> <h2>Simplest upgrade strategy (if you can update all your code atomically in the same commit as the Truth upgrade)</h2> <p>In the same commit:</p> <ol> <li>Upgrade Truth to 1.4.0.</li> <li>Replace <code>import static com.google.common.truth.Truth8.assertThat;</code> with <code>import static com.google.common.truth.Truth.assertThat;</code>. <ul> <li>If you use Kotlin, replace <code>import com.google.common.truth.Truth8.assertThat</code> with <code>import com.google.common.truth.Truth.assertThat</code>.</li> </ul> </li> <li>Replace <code>import com.google.common.truth.Truth8;</code> with <code>import com.google.common.truth.Truth;</code>. <ul> <li>again, similarly for Kotlin if needed</li> </ul> </li> <li>Optionally replace remaining references to <code>Truth8</code> with references to <code>Truth</code>. <ul> <li>For example, replace <code>Truth8.assertThat(optional).isPresent()</code> with <code>Truth.assertThat(optional).isPresent()</code>.</li> </ul> </li> </ol> <p>If you're feeling lucky, you can try this one-liner for the code updates:</p> <pre lang="sh"><code>git grep -l Truth8 | xargs perl -pi -e 's/import static com.google.common.truth.Truth8.assertThat;/import static com.google.common.truth.Truth.assertThat;/g; s/import com.google.common.truth.Truth8.assertThat/import com.google.common.truth.Truth.assertThat/g; s/import com.google.common.truth.Truth8/import com.google.common.truth.Truth/g; s/\bTruth8[.]/Truth./g;' </code></pre> <p>In most cases, that can be further simplified to:</p> <pre lang="sh"><code>git grep -l Truth8 | xargs perl -pi -e 's/\bTruth8\b/Truth/g;' </code></pre> <p>After that process, it is possible that you'll still see build errors from ambiguous usages of <code>assertThat</code> static imports. If so, you can find a workaround in the section about overload ambiguity in the release notes for <a href="https://togithub.com/google/truth/releases/tag/v1.3.0">1.3.0</a>. Alternatively, you can wait to upgrade until after a future Truth release, which will eliminate the ambiguity by changing the signatures of some <code>Truth.assertThat</code> overloads.</p> <h2>Incremental upgrade strategy</h2> <p>If you have a very large repo or you have other reasons to prefer to upgrade incrementally, you can use the approach that we used inside Google. Roughly, that approach was:</p> <ol> <li>Make the optional changes discussed in the release notes for <a href="https://togithub.com/google/truth/releases/tag/v1.3.0">1.3.0</a>.</li> <li>For any remaining calls to <code>Truth8.assertThat</code>, change them to <em>avoid</em> static import. <ul> <li>That is, replace <code>assertThat(optional).isPresent()</code> with <code>Truth8.assertThat(optional).isPresent()</code>.</li> </ul> </li> <li>Upgrade Truth to 1.4.0.</li> <li>Optionally replace references to <code>Truth8</code> with references to <code>Truth</code> (including restoring static imports if desired), as discussed in section about the simple upgrade strategy above.</li> </ol> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://togithub.com/google/truth/commit/2e8e48845cfa51a457ee150fe4b620e847c968c9"><code>2e8e488</code></a> Set version number for truth-parent to 1.4.0.</li> <li><a href="https://togithub.com/google/truth/commit/1f81827f1b5512cb1bb4e09b1cd688337b155e0c"><code>1f81827</code></a> Copy <code>Truth8.assertThat</code> overloads for <code>Path</code> and <code>OptionalLong</code> to the main ...</li> <li><a href="https://togithub.com/google/truth/commit/9be8e774ca41a2a85c49d203bc47dac78861aeaa"><code>9be8e77</code></a> Copy remaining <code>Truth8.assertThat</code> overloads to the main <code>Truth</code> class—except...</li> <li><a href="https://togithub.com/google/truth/commit/b02a6583a9c9e6db9cf3725f542743ec0faf055f"><code>b02a658</code></a> Migrate most usages of <code>Truth8.assertThat</code> to equivalent usages of `Truth.ass...</li> <li><a href="https://togithub.com/google/truth/commit/09993692eae0f278eea6fa123b1a5e4ecdd00720"><code>0999369</code></a> Automated Code Change</li> <li><a href="https://togithub.com/google/truth/commit/7c65fc611d102c82b7218073315421656a5a19ca"><code>7c65fc6</code></a> Make it possible to write <code>expect.that(optionalInt).isPresent()</code>, `assertWith...</li> <li><a href="https://togithub.com/google/truth/commit/87b371df11b3d2f477a29b6568c943daffa50643"><code>87b371d</code></a> Bump styfle/cancel-workflow-action from 0.12.0 to 0.12.1</li> <li><a href="https://togithub.com/google/truth/commit/93b4d93721ae84b10590963f8cf17364af8ce385"><code>93b4d93</code></a> Add <code>@since</code> tags for the first batch of Java-8-related APIs.</li> <li><a href="https://togithub.com/google/truth/commit/78d27dd4716c06afdd4df47485716cda1d8fe80a"><code>78d27dd</code></a> Remove stale suppressions.</li> <li><a href="https://togithub.com/google/truth/commit/7be930d21593375dbecbd39352fd38862f7a2cec"><code>7be930d</code></a> Bump actions/cache from 3.3.3 to 4.0.0</li> <li>Additional commits viewable in <a href="https://togithub.com/google/truth/compare/v1.1.5...v1.4.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.truth:truth&package-manager=maven&previous-version=1.1.5&new-version=1.4.0)](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 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 <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) </details> * deps: bump com.google.cloud:google-cloud-shared-config from 1.6.1 to 1.7.1 (#1324) Bumps [com.google.cloud:google-cloud-shared-config](https://togithub.com/googleapis/java-shared-config) from 1.6.1 to 1.7.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://togithub.com/googleapis/java-shared-config/releases">com.google.cloud:google-cloud-shared-config's releases</a>.</em></p> <blockquote> <h2>v1.7.1</h2> <h2><a href="https://togithub.com/googleapis/java-shared-config/compare/v1.7.0...v1.7.1">1.7.1</a> (2023-12-07)</h2> <h3>Bug Fixes</h3> <ul> <li>Move release configs to native-image-shared-config (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/725">#725</a>) (<a href="https://togithub.com/googleapis/java-shared-config/commit/58ffb4e8218ac98b516e01b68b34b54b4cecec98">58ffb4e</a>)</li> </ul> <h2>v1.7.0</h2> <h2><a href="https://togithub.com/googleapis/java-shared-config/compare/v1.6.1...v1.7.0">1.7.0</a> (2023-12-04)</h2> <h3>Features</h3> <ul> <li>Separate native-image-shared-config into its own module (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/712">#712</a>) (<a href="https://togithub.com/googleapis/java-shared-config/commit/567fecb2fd80bd6e2fe509e4c2a97685f35e2b84">567fecb</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://togithub.com/googleapis/java-shared-config/blob/main/CHANGELOG.md">com.google.cloud:google-cloud-shared-config's changelog</a>.</em></p> <blockquote> <h2><a href="https://togithub.com/googleapis/java-shared-config/compare/v1.7.0...v1.7.1">1.7.1</a> (2023-12-07)</h2> <h3>Bug Fixes</h3> <ul> <li>Move release configs to native-image-shared-config (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/725">#725</a>) (<a href="https://togithub.com/googleapis/java-shared-config/commit/58ffb4e8218ac98b516e01b68b34b54b4cecec98">58ffb4e</a>)</li> </ul> <h2><a href="https://togithub.com/googleapis/java-shared-config/compare/v1.6.1...v1.7.0">1.7.0</a> (2023-12-04)</h2> <h3>Features</h3> <ul> <li>Separate native-image-shared-config into its own module (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/712">#712</a>) (<a href="https://togithub.com/googleapis/java-shared-config/commit/567fecb2fd80bd6e2fe509e4c2a97685f35e2b84">567fecb</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/f5f57c87d33a9aca05b3bd1cca949be5f49ce5a2"><code>f5f57c8</code></a> chore(main): release 1.7.1 (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/727">#727</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/9fcbe9ecf839c598982986e3d751e32714283377"><code>9fcbe9e</code></a> chore: update release-please.yml to include cloudbuild test yamls (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/728">#728</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/c432bae8bd5eaf5f12d18553bbe6ba3d64d56cc8"><code>c432bae</code></a> chore(main): release 1.7.1-SNAPSHOT (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/719">#719</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/58ffb4e8218ac98b516e01b68b34b54b4cecec98"><code>58ffb4e</code></a> fix: move release configs to native-image-shared-config (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/725">#725</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/8d411bcdc1bf6b35b62f1ff47e11e75ad83c9562"><code>8d411bc</code></a> ci: Update ci.yaml to introduce Java 21 unit testing (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/1907">#1907</a>) (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/717">#717</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/3382cee280436cdeebb44ee76bf028022bde2de3"><code>3382cee</code></a> chore: add downstream check for native image tests in cloud build (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/715">#715</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/b22a75aa2e24bf37cd590e190d30afafb0185c36"><code>b22a75a</code></a> chore: update graalvm docker image for 1.7.0 release (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/720">#720</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/93824e52db74f661f0e3916f1a8bdcbfd5f0ccff"><code>93824e5</code></a> chore(main): release 1.7.0 (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/716">#716</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/7435981d8733beb23204b67f4950007fbc277cc3"><code>7435981</code></a> chore: remove docker validation check (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/718">#718</a>)</li> <li><a href="https://togithub.com/googleapis/java-shared-config/commit/567fecb2fd80bd6e2fe509e4c2a97685f35e2b84"><code>567fecb</code></a> feat: separate native-image-shared-config into its own module (<a href="https://redirect.github.com/googleapis/java-shared-config/issues/712">#712</a>)</li> <li>Additional commits viewable in <a href="https://togithub.com/googleapis/java-shared-config/compare/v1.6.1...v1.7.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.cloud:google-cloud-shared-config&package-manager=maven&previous-version=1.6.1&new-version=1.7.1)](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 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 <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) </details> * deps: bump com.google.cloud:google-cloud-shared-dependencies from 3.19.0 to 3.24.0 (#1325) Bumps com.google.cloud:google-cloud-shared-dependencies from 3.19.0 to 3.24.0. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.cloud:google-cloud-shared-dependencies&package-manager=maven&previous-version=3.19.0&new-version=3.24.0)](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 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 <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) </details> * deps: bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.1 (#1327) Bumps [org.apache.maven.plugins:maven-compiler-plugin](https://togithub.com/apache/maven-compiler-plugin) from 3.11.0 to 3.12.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://togithub.com/apache/maven-compiler-plugin/releases">org.apache.maven.plugins:maven-compiler-plugin's releases</a>.</em></p> <blockquote> <h2>3.12.1</h2> <!-- raw HTML omitted --> <h2>🐛 Bug Fixes</h2> <ul> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-567">[MCOMPILER-567]</a> - Fail to compile if the generated-sources/annotation… (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/218">#218</a>) <a href="https://togithub.com/jorsol"><code>@​jorsol</code></a></li> </ul> <h2>📦 Dependency updates</h2> <ul> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-568">[MCOMPILER-568]</a> - Bump plexusCompilerVersion from 2.14.1 to 2.14.2 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/220">#220</a>) <a href="https://togithub.com/dependabot"><code>@​dependabot</code></a></li> </ul> <h2>3.12.0</h2> <!-- raw HTML omitted --> <h2>🚀 New features and improvements</h2> <ul> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-562">[MCOMPILER-562]</a> - Add property maven.compiler.outputDirectory to CompilerMojo (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/213">#213</a>) <a href="https://togithub.com/jGauravGupta"><code>@​jGauravGupta</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-381">[MCOMPILER-381]</a> - Refactor incremental detection (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/181">#181</a>) <a href="https://togithub.com/jorsol"><code>@​jorsol</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-542">[MCOMPILER-542]</a> - Clean JDK patch version in module-info.class (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/208">#208</a>) <a href="https://togithub.com/jorsol"><code>@​jorsol</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-558">[MCOMPILER-558]</a> - compileSourceRoots in testCompile should be writable (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/209">#209</a>) <a href="https://togithub.com/lorenzsimon"><code>@​lorenzsimon</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-559">[MCOMPILER-559]</a> - Warn if overwriting the project's artifact's file to a different value (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/211">#211</a>) <a href="https://togithub.com/gnodet"><code>@​gnodet</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-550">[MCOMPILER-550]</a> - make outputDirectory writable (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/202">#202</a>) <a href="https://togithub.com/bmarwell"><code>@​bmarwell</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-549">[MCOMPILER-549]</a> - Improve log message in case of recompilation - fix jenkins build (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/203">#203</a>) <a href="https://togithub.com/slawekjaranowski"><code>@​slawekjaranowski</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-549">[MCOMPILER-549]</a> - Improve log message in case of recompilation (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/201">#201</a>) <a href="https://togithub.com/BrowneMonke"><code>@​BrowneMonke</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-391">[MCOMPILER-391]</a> - Use dep mgmt when resolving annotation processors and their deps (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/180">#180</a>) <a href="https://togithub.com/psiroky"><code>@​psiroky</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-531">[MCOMPILER-531]</a> - Prepare for Java 20(-ea) (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/184">#184</a>) <a href="https://togithub.com/slachiewicz"><code>@​slachiewicz</code></a></li> </ul> <h2>🐛 Bug Fixes</h2> <ul> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-333">[MCOMPILER-333]</a> - Cleanup generated source files (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/214">#214</a>) <a href="https://togithub.com/jorsol"><code>@​jorsol</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-544">[MCOMPILER-544]</a> - don't add items to classpath that are not used for that (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/198">#198</a>) <a href="https://togithub.com/laeubi"><code>@​laeubi</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-547">[MCOMPILER-547]</a> - : Initialize pathElements to empty (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/199">#199</a>) <a href="https://togithub.com/rovarga"><code>@​rovarga</code></a></li> </ul> <h2>📦 Dependency updates</h2> <ul> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-564">[MCOMPILER-564]</a> - Bump plexusCompilerVersion from 2.13.0 to 2.14.1 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/216">#216</a>) <a href="https://togithub.com/dependabot"><code>@​dependabot</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-557">[MCOMPILER-557]</a> - Upgrade maven-plugin parent to 41 - fix build (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/210">#210</a>) <a href="https://togithub.com/slawekjaranowski"><code>@​slawekjaranowski</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-554">[MCOMPILER-554]</a> - Update plexus-java to 1.2.0 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/207">#207</a>) <a href="https://togithub.com/jorsol"><code>@​jorsol</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-551">[MCOMPILER-551]</a> - Upgrade Parent to 40 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/205">#205</a>) <a href="https://togithub.com/slawekjaranowski"><code>@​slawekjaranowski</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-541">[MCOMPILER-541]</a> - update maven-shared-utils to 3.4.2 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/195">#195</a>) <a href="https://togithub.com/elharo"><code>@​elharo</code></a></li> <li>Bump apache/maven-gh-actions-shared from 2 to 3 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/182">#182</a>) <a href="https://togithub.com/dependabot"><code>@​dependabot</code></a></li> <li>Bump maven-invoker-plugin from 3.4.0 to 3.5.0 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/179">#179</a>) <a href="https://togithub.com/dependabot"><code>@​dependabot</code></a></li> </ul> <h2>👻 Maintenance</h2> <ul> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-565">[MCOMPILER-565]</a> - Allow project build by Maven 4 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/217">#217</a>) <a href="https://togithub.com/slawekjaranowski"><code>@​slawekjaranowski</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MCOMPILER-552">[MCOMPILER-552]</a> - Refresh download page (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/204">#204</a>) <a href="https://togithub.com/slawekjaranowski"><code>@​slawekjaranowski</code></a></li> <li>Remove references to old Maven versions. (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/194">#194</a>) <a href="https://togithub.com/elharo"><code>@​elharo</code></a></li> <li>(doc) Drop unused and vulnerable dependency to log4j (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/190">#190</a>) <a href="https://togithub.com/slachiewicz"><code>@​slachiewicz</code></a></li> <li><a href="https://issues.apache.org/jira/browse/MNG-6829">[MNG-6829]</a> - Replace StringUtils#isEmpty(String) &amp; #isNotEmpty(String) (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/189">#189</a>) <a href="https://togithub.com/timtebeek"><code>@​timtebeek</code></a></li> <li>Update plexus-utils to 3.0.24 - in its (<a href="https://redirect.github.com/apache/maven-compiler-plugin/pull/183">#183</a>) <a href="https://togithub.com/slachiewicz"><code>@​slachiewicz</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/736da68adf543cf56cd82a68e5ad28d397ace2f4"><code>736da68</code></a> [maven-release-plugin] prepare release maven-compiler-plugin-3.12.1</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/ef93f3dbf4ad57adf73f7fca64bb5b659041f217"><code>ef93f3d</code></a> [MCOMPILER-568] Bump plexusCompilerVersion from 2.14.1 to 2.14.2 (<a href="https://redirect.github.com/apache/maven-compiler-plugin/issues/220">#220</a>)</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/eb7840cf9f0d29c1cf805c5aec180f7f78e454ac"><code>eb7840c</code></a> [MCOMPILER-567] - Fail to compile if the &quot;generated-sources/annotations&quot; does...</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/2a7a73b34b9e9d244fbf154783437c71a6d32f5f"><code>2a7a73b</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/c08b0fda5445a2a3f495a3d6524d80c82fc9d5e6"><code>c08b0fd</code></a> [maven-release-plugin] prepare release maven-compiler-plugin-3.12.0</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/a1c5b133a1f4f927cc8e4ec6024062dcd69df91e"><code>a1c5b13</code></a> [MCOMPILER-565] Allow project build by Maven 4</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/48557736437d9ebae20510519080cb047d01c8cd"><code>4855773</code></a> Bump plexusCompilerVersion from 2.13.0 to 2.14.1</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/1d053422bde8ef0f0d1a1901a0b00e56c5e62571"><code>1d05342</code></a> [MCOMPILER-562] Add property maven.compiler.outputDirectory to CompilerMojo (...</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/ea74978da1aca9fbb1fe11456065ce114456afd9"><code>ea74978</code></a> [MCOMPILER-381] - Refactor incremental detection (<a href="https://redirect.github.com/apache/maven-compiler-plugin/issues/181">#181</a>)</li> <li><a href="https://togithub.com/apache/maven-compiler-plugin/commit/fd37f0934f152ea26a4d9b5c97dd3db6db465e7e"><code>fd37f09</code></a> [MCOMPILER-333] Cleanup generated source files (<a href="https://redirect.github.com/apache/maven-compiler-plugin/issues/214">#214</a>)</li> <li>Additional commits viewable in <a href="https://togithub.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.11.0...maven-compiler-plugin-3.12.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.maven.plugins:maven-compiler-plugin&package-manager=maven&previous-version=3.11.0&new-version=3.12.1)](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 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 <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) </details> * test(deps): upgrade errorprone to 2.24.0 (#1271) (#1329) * test(deps): upgrade errorprone to 2.24.0 (#1271) * deps: upgrade errorprone to 2.24.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * deps: bump com.google.errorprone:error_prone_core from 2.23.0 to 2.24.1 (#1326) Bumps [com.google.errorprone:error_prone_core](https://togithub.com/google/error-prone) from 2.23.0 to 2.24.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://togithub.com/google/error-prone/releases">com.google.errorprone:error_prone_core's releases</a>.</em></p> <blockquote> <h2>Error Prone 2.24.1</h2> <p>Changes:</p> <ul> <li>Add an assertion to try to help debug <a href="https://redirect.github.com/google/error-prone/issues/4225">google/error-prone#4225</a></li> </ul> <p>Full Changelog: <a href="https://togithub.com/google/error-prone/compare/v2.24.0...v2.24.1">https://togithub.com/google/error-prone/compare/v2.24.0...v2.24.1</a></p> <h2>Error Prone 2.24.0</h2> <p>New checks:</p> <ul> <li><a href="https://errorprone.info/bugpattern/MultipleNullnessAnnotations"><code>MultipleNullnessAnnotations</code></a>: Discourage multiple nullness annotations</li> <li><a href="https://errorprone.info/bugpattern/NullableTypeParameter"><code>NullableTypeParameter</code></a>: Discourage nullness annotations on type parameters</li> <li><a href="https://errorprone.info/bugpattern/NullableWildcard"><code>NullableWildcard</code></a>: Discourage nullness annotations on wildcards</li> <li><a href="https://errorprone.info/bugpattern/SuperCallToObjectMethod"><code>SuperCallToObjectMethod</code></a>: Generalization of <code>SuperEqualsIsObjectEquals</code>, now covers <code>hashCode</code></li> </ul> <p>Full Changelog: <a href="https://togithub.com/google/error-prone/compare/v2.23.0...v2.24.0">https://togithub.com/google/error-prone/compare/v2.23.0...v2.24.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://togithub.com/google/error-prone/commit/ecf7e103b265b3f51ce8e317fe9ddf4e9477c98e"><code>ecf7e10</code></a> Release Error Prone 2.24.1</li> <li><a href="https://togithub.com/google/error-prone/commit/2bd7859957ebf205f1c73f9d38d9f85338b80773"><code>2bd7859</code></a> Add an assertion to try to help debug <a href="https://togithub.com/google/error-prone/i">https://togithub.com/google/error-prone/i</a>...</li> <li><a href="https://togithub.com/google/error-prone/commit/58a9e8082b2344f8fb2c3814112b46104708bbab"><code>58a9e80</code></a> Update a few checks (and a class of tests, with AbstractToString) to handle #...</li> <li><a href="https://togithub.com/google/error-prone/commit/fd21bc9e4e9737b86fdd792bf5e71f588aee5c27"><code>fd21bc9</code></a> Reflow a comment that didn't appreciate being formatted in unknown commit</li> <li><a href="https://togithub.com/google/error-prone/commit/63cf19274e382089693102a19bf31d7dbe791807"><code>63cf192</code></a> Update <code>CanIgnoreReturnValueSuggester</code> summary.</li> <li><a href="https://togithub.com/google/error-prone/commit/5fa727a5e4e6a368a92c6f36224dbe9716ed5659"><code>5fa727a</code></a> Actually test that <code>hasExtraParameterForEnclosingInstance</code> works.</li> <li><a href="https://togithub.com/google/error-prone/commit/21c190a6fc76f3ad3c895639dc66b7a3f570c55d"><code>21c190a</code></a> Document that javadoc shouldn't appear between annotations and the documented...</li> <li><a href="https://togithub.com/google/error-prone/commit/d272dfa8da5f6ed09bb97acc153f9a7169185ab7"><code>d272dfa</code></a> Automated rollback of commit 654d1dbf1e6dd652cd6e8ca003643ddf02266ec2.</li> <li><a href="https://togithub.com/google/error-prone/commit/654d1dbf1e6dd652cd6e8ca003643ddf02266ec2"><code>654d1db</code></a> Handle Joiner.on(...) in AbstractToString.</li> <li><a href="https://togithub.com/google/error-prone/commit/da7be27b3c4a9f7d232072fdf3dc95e553156b6d"><code>da7be27</code></a> Descend into VariableTrees when looking for variables to check.</li> <li>Additional commits viewable in <a href="https://togithub.com/google/error-prone/compare/v2.23.0...v2.24.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.errorprone:error_prone_core&package-manager=maven&previous-version=2.23.0&new-version=2.24.1)](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 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 <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) </details> * feat: allow setting channel and credential providers in DatastoreOptions (#1299) * feat: allow setting channel and credential providers in DatastoreOptions * add additional validation and test * mark new fields as transient * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * update test * review feedback * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * review feedback * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * chore: Update CODEOWNERS (#1297) (#1331) * chore: Update CODEOWNERS * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: Update .repo-metadata.json * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * chore: run owlbot (#1330) * chore: run owlbot * update owlbot lock * deps: bump com.google.cloud:google-cloud-shared-dependencies from 3.24.0 to 3.25.0 (#1335) Bumps com.google.cloud:google-cloud-shared-dependencies from 3.24.0 to 3.25.0. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.cloud:google-cloud-shared-dependencies&package-manager=maven&previous-version=3.24.0&new-version=3.25.0)](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 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 <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) </details> * deps: bump com.google.truth:truth from 1.4.0 to 1.4.1 (#1341) Bumps [com.google.truth:truth](https://togithub.com/google/truth) from 1.4.0 to 1.4.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://togithub.com/google/truth/releases">com.google.truth:truth's releases</a>.</em></p> <blockquote> <h2>1.4.1</h2> <p>This release deprecates <code>Truth8</code>.</p> <p>All its methods have become available on the main <code>Truth</code> class. In most cases, you can migrate your whole project mechanically: <code>git grep -l Truth8 | xargs perl -pi -e 's/\bTruth8\b/Truth/g;'</code></p> <p>While we do not plan to delete <code>Truth8</code>, we recommend migrating off it, at least if you static import <code>assertThat</code>: If you do not migrate, such static imports will become ambiguous in Truth 1.4.2, breaking your build.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://togithub.com/google/truth/commit/a920d7df823e6b47a67e200055eb2bbfc6677185"><code>a920d7d</code></a> Set version number for truth-parent to 1.4.1.</li> <li><a href="https://togithub.com/google/truth/commit/3406074b376d162aa4c39c414538aab348cfa3e7"><code>3406074</code></a> Document more about how and why to migrate off <code>Truth8</code>.</li> <li><a href="https://togithub.com/google/truth/commit/2be0061863bd4bee48327fdf99a243547adbddba"><code>2be0061</code></a> Update docs to reflect that the Java 8 assertions have &quot;moved&quot; to the main `T...</li> <li>See full diff in <a href="https://togithub.com/google/truth/compare/v1.4.0...v1.4.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.truth:truth&package-manager=maven&previous-version=1.4.0&new-version=1.4.1)](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 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 <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) </details> * deps: bump com.google.errorprone:error_prone_core from 2.24.1 to 2.25.0 (#1340) Bumps [com.google.errorprone:error_prone_core](https://togithub.com/google/error-prone) from 2.24.1 to 2.25.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://togithub.com/google/error-prone/releases">com.google.errorprone:error_prone_core's releases</a>.</em></p> <blockquote> <h2>Error Prone 2.25.0</h2> <p>New checks:</p> <ul> <li><a href="https://errorprone.info/bugpattern/JUnitIncompatibleType"><code>JUnitIncompatibleType</code></a>: Detects incompatible types passed to an assertion, similar to <a href="https://errorprone.info/bugpattern/TruthIncompatibleType"><code>TruthIncompatibleType </code></a></li> <li><a href="https://errorprone.info/bugpattern/RedundantSetterCall"><code>RedundantSetterCall</code></a>: Detects fields set twice in the same chained expression. Generalization of previous <code>ProtoRedundantSet</code> check to also handle <a href="https://togithub.com/google/auto/blob/main/value/userguide/index.md">AutoValue</a>.</li> </ul> <p>Closed issues: <a href="https://redirect.github.com/google/error-prone/issues/4195">#4195</a>, <a href="https://redirect.github.com/google/error-prone/issues/4224">#4224</a>, <a href="https://redirect.github.com/google/error-prone/issues/4228">#4228</a>, <a href="https://redirect.github.com/google/error-prone/issues/4248">#4248</a>, <a href="https://redirect.github.com/google/error-prone/issues/4249">#4249</a>, <a href="https://redirect.github.com/google/error-prone/issues/4251">#4251</a></p> <p>Full Changelog: <a href="https://togithub.com/google/error-prone/compare/v2.24.1...v2.25.0">https://togithub.com/google/error-prone/compare/v2.24.1...v2.25.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://togithub.com/google/error-prone/commit/e353c911ea52520f2d0096eb9406f8c3f90d5f9e"><code>e353c91</code></a> Release Error Prone 2.25.0</li> <li><a href="https://togithub.com/google/error-prone/commit/ae3a19f44e173847d5e01bc95fd0b1d74a41d6b6"><code>ae3a19f</code></a> Add some known thread safe types to[]</li> <li><a href="https://togithub.com/google/error-prone/commit/4f060e1ff140874e1d7424a08c6d23e9c9d50d13"><code>4f060e1</code></a> Add a test case demonstrating a <code>CanIgnoreReturnValueSuggester</code> bug.</li> <li><a href="https://togithub.com/google/error-prone/commit/a1f4fa7061e977357a9ada2dbc71c36ace2fe7df"><code>a1f4fa7</code></a> Drop diagnostics that are reported inside ErrorProneTokens</li> <li><a href="https://togithub.com/google/error-prone/commit/32312a2eb20c94f875350ee69a3612ea45014007"><code>32312a2</code></a> Update Android API diff</li> <li><a href="https://togithub.com/google/error-prone/commit/b799927de4a60a0a7d68277a1aaced64c2fd9b1f"><code>b799927</code></a> Automatic code cleanup.</li> <li><a href="https://togithub.com/google/error-prone/commit/68badf0576894a13e7a0ab38350a5f64f08b04a0"><code>68badf0</code></a> ErrorProne: Update TestParameterInjector version</li> <li><a href="https://togithub.com/google/error-prone/commit/3ff139f6605d565831830782135d2ae7a967740b"><code>3ff139f</code></a> Automatic code cleanup.</li> <li><a href="https://togithub.com/google/error-prone/commit/0bd743234ba82f42c3aaa6dce28c5acd76d3dc03"><code>0bd7432</code></a> Rollforward of <a href="https://togithub.com/google/error-prone/commit/654d1dbf1e6dd652c">https://togithub.com/google/error-prone/commit/654d1dbf1e6dd652c</a>...</li> <li><a href="https://togithub.com/google/error-prone/commit/5f2032591a8bacb496e48a9a62a1616d18586e03"><code>5f20325</code></a> Fix typos</li> <li>Additional commits viewable in <a href="https://togithub.com/google/error-prone/compare/v2.24.1...v2.25.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.errorprone:error_prone_core&package-manager=maven&previous-version=2.24.1&new-version=2.25.0)](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 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 <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) </details> * revert: "test: Creating multi db rule to run tests multiple times agai… (#1346) * Revert "test: Creating multi db rule to run tests multiple times against different named databases. (#1270)" This reverts commit 780c9f40f1ae04d0ec919d203bf256e3cff8fcc1. * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * deps: bump com.google.truth:truth from 1.4.1 to 1.4.2 (#1354) Bumps [com.google.truth:truth](https://togithub.com/google/truth) from 1.4.1 to 1.4.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://togithub.com/google/truth/releases">com.google.truth:truth's releases</a>.</em></p> <blockquote> <h2>1.4.2</h2> <p>This release is the final step of copying all our methods from <code>Truth8</code> to <code>Truth</code>. If you have not already migrated your usages from <code>Truth8</code> to <code>Truth</code>, you may see build errors:</p> <pre><code>OptionalSubjectTest.java:39: error: reference to assertThat is ambiguous assertThat(Optional.of(&quot;foo&quot;)).isPresent(); ^ both method assertThat(@org.checkerframework.checker.nullness.qual.Nullable Optional&lt;?&gt;) in Truth8 and method assertThat(@org.checkerframework.checker.nullness.qual.Nullable Optional&lt;?&gt;) in Truth match </code></pre> <p>In most cases, you can migrate your whole project mechanically: <code>git grep -l Truth8 | xargs perl -pi -e 's/\bTruth8\b/Truth/g;'</code>. (You can make that change before upgrading to Truth 1.4.2 or as part of the same commit.)</p> <p>If you instead need to migrate your project incrementally (for example, because it is very large), you may want to upgrade your version of Truth incrementally, too, following our instructions for <a href="https://togithub.com/google/truth/releases/tag/v1.3.0">1.3.0</a> and <a href="https://togithub.com/google/truth/releases/tag/v1.4.0">1.4.0</a>.</p> <h2>For help</h2> <p>Please feel welcome to <a href="https://togithub.com/google/truth/issues/new">open an issue</a> to report problems or request help.</p> <h2>Changelog</h2> <ul> <li>Removed temporary type parameters from <code>Truth.assertThat(Stream)</code> and <code>Truth.assertThat(Optional)</code>. This can create build errors, which you can fix by replacing all your references to <code>Truth8</code> with references to <code>Truth</code>. (45782bd0e)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://togithub.com/google/truth/commit/0ca7ef06fda6b740406fc1402447a8a9ff61ee35"><code>0ca7ef0</code></a> Set version number for truth-parent to 1.4.2.</li> <li><a href="https://togithub.com/google/truth/commit/e3b435498a88f389c4aeafa711230465d2c76c17"><code>e3b4354</code></a> Enable a few more Guava Primitives tests for J2KT</li> <li><a href="https://togithub.com/google/truth/commit/ae78f4a04c84a11569d31a81107301140237151b"><code>ae78f4a</code></a> Bump actions/setup-java from 4.0.0 to 4.1.0</li> <li><a href="https://togithub.com/google/truth/commit/996a844c3ef62055ae5dcb73edf6eadb3e0ab881"><code>996a844</code></a> Remove more copies of a workaround for an ancient Android bug.</li> <li><a href="https://togithub.com/google/truth/commit/a43223ef586ecbf0a34dabe9f0dc3a965672051f"><code>a43223e</code></a> Suppress <code>TruthSelfEquals</code> violations in Truth.</li> <li><a href="https://togithub.com/google/truth/commit/559d6360e3c82265328a64f1a328f5b2d8c3e652"><code>559d636</code></a> Suppress <code>NullableOptional</code>, as we already do in, e.g., `Truth.assertThat(Opt...</li> <li><a href="https://togithub.com/google/truth/commit/3efe35324062046383036aab71472a94cb454ca1"><code>3efe353</code></a> Automated Code Change</li> <li><a href="https://togithub.com/google/truth/commit/5efd53f1064b4b6f0d8b156034b0c21c0b6a5713"><code>5efd53f</code></a> Change <code>assertThat(array)</code> to allow arrays of non-nullable elements</li> <li><a href="https://togithub.com/google/truth/commit/bbd8d1218bccf79fada58885c30fd6356650a5e6"><code>bbd8d12</code></a> Bump com.google.errorprone:error_prone_annotations from 2.24.1 to 2.25.0</li> <li><a href="https://togithub.com/google/truth/commit/c2439618ee956cca31424472d5fb023e99892ae9"><code>c243961</code></a> Remove <code>@J2ktIncompatible</code> from <code>StringSubject#matches</code></li> <li>Additional commits viewable in <a href="https://togithub.com/google/truth/compare/v1.4.1...v1.4.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.truth:truth&package-manager=maven&previous-version=1.4.1&new-version=1.4.2)](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 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 <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) </details> * deps: bump com.google.cloud:google-cloud-shared-dependencies from 3.25.0 to 3.27.0 (#1353) Bumps com.google.cloud:google-cloud-shared-dependencies from 3.25.0 to 3.27.0. [![Dependabot compat…
1 parent f5a2f04 commit a35a59e

File tree

63 files changed

+9364
-211
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+9364
-211
lines changed

.github/.OwlBot.yaml

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,12 @@ deep-copy-regex:
2525
dest: "/owl-bot-staging/$1/proto-google-cloud-datastore-$1/src"
2626
- source: "/google/datastore/admin/(v.*)/.*-java/proto-google-.*/src"
2727
dest: "/owl-bot-staging/$1/proto-google-cloud-datastore-admin-$1/src"
28+
- source: "/google/datastore/(v.*)/.*-java/grpc-google-.*/src"
29+
dest: "/owl-bot-staging/$1/grpc-google-cloud-datastore-$1/src"
2830
- source: "/google/datastore/admin/(v.*)/.*-java/grpc-google-.*/src"
2931
dest: "/owl-bot-staging/$1/grpc-google-cloud-datastore-admin-$1/src"
3032
# Admin & Data APIs share the same wrapper library.
33+
- source: "/google/datastore/(v.*)/.*-java/gapic-google-.*/src"
34+
dest: "/owl-bot-staging/$1/google-cloud-datastore/src"
3135
- source: "/google/datastore/admin/(v.*)/.*-java/gapic-google-.*/src"
32-
dest: "/owl-bot-staging/$1/google-cloud-datastore/src"
36+
dest: "/owl-bot-staging/$1/google-cloud-datastore/src"

.github/dependabot.yml

-12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
version: 2
2-
32
updates:
43
- package-ecosystem: "maven"
54
directory: "/"
@@ -18,14 +17,3 @@ updates:
1817
# it via template in the synthtool repository.
1918
ignore:
2019
- dependency-name: "*"
21-
22-
# rules for the `V3-experimental` branch
23-
- package-ecosystem: maven
24-
directory: "/"
25-
schedule:
26-
interval: daily
27-
commit-message:
28-
# Prefix all commit messages with "deps: "
29-
prefix: "deps"
30-
open-pull-requests-limit: 10
31-
target-branch: "V3-experimental"

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ target/
33
*.iml
44
__pycache__/
55

6-
.flattened-pom.xml
6+
.flattened-pom.xml

google-cloud-datastore/clirr-ignored-differences.xml

+45-14
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,50 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!-- see http://mojo.codehaus.org/clirr-maven-plugin/examples/ignored-differences.html -->
33
<differences>
4-
<!-- added a default method to an interface-->
4+
<!-- renaming internal only class-->
5+
<difference>
6+
<className>com/google/cloud/datastore/ReadOption$QueryAndReadOptions</className>
7+
<method>*</method>
8+
<differenceType>8001</differenceType>
9+
</difference>
10+
<difference>
11+
<className>com/google/cloud/datastore/execution/request/AggregationQueryRequestProtoPreparer</className>
12+
<method>*QueryAndReadOptions*</method>
13+
<to>*QueryConfig*</to>
14+
<differenceType>7005</differenceType>
15+
</difference>
16+
<difference>
17+
<!-- Added BaseGrpcServiceException as a superclass -->
18+
<className>com/google/cloud/datastore/DatastoreException</className>
19+
<differenceType>5000</differenceType>
20+
<to>com/google/cloud/grpc/BaseGrpcServiceException</to>
21+
</difference>
22+
<difference>
23+
<!-- Removed BaseHttpServiceException as a superclass -->
24+
<className>com/google/cloud/datastore/DatastoreException</className>
25+
<differenceType>5001</differenceType>
26+
<to>com/google/cloud/http/BaseHttpServiceException</to>
27+
</difference>
28+
<difference>
29+
<className>com/google/cloud/datastore/Datastore</className>
30+
<method>void close()</method>
31+
<differenceType>7012</differenceType>
32+
</difference>
33+
<difference>
34+
<className>com/google/cloud/datastore/spi/v1/DatastoreRpc</className>
35+
<method>void close()</method>
36+
<differenceType>7012</differenceType>
37+
</difference>
38+
<difference>
39+
<className>com/google/cloud/datastore/Datastore</className>
40+
<method>boolean isClosed()</method>
41+
<differenceType>7012</differenceType>
42+
</difference>
43+
<difference>
44+
<className>com/google/cloud/datastore/spi/v1/DatastoreRpc</className>
45+
<method>boolean isClosed()</method>
46+
<differenceType>7012</differenceType>
47+
</difference>
548
<difference>
649
<className>com/google/cloud/datastore/Datastore</className>
750
<method>com.google.cloud.datastore.QueryResults run(com.google.cloud.datastore.Query, com.google.cloud.datastore.models.ExplainOptions, com.google.cloud.datastore.ReadOption[])</method>
@@ -14,7 +57,7 @@
1457
</difference>
1558
<difference>
1659
<className>com/google/cloud/datastore/DatastoreReader</className>
17-
<method> com.google.cloud.datastore.AggregationResults runAggregation(com.google.cloud.datastore.AggregationQuery, com.google.cloud.datastore.models.ExplainOptions)</method>
60+
<method>com.google.cloud.datastore.AggregationResults runAggregation(com.google.cloud.datastore.AggregationQuery, com.google.cloud.datastore.models.ExplainOptions)</method>
1861
<differenceType>7012</differenceType>
1962
</difference>
2063
<difference>
@@ -28,18 +71,6 @@
2871
<differenceType>7012</differenceType>
2972
</difference>
3073

31-
<!-- changed parmeters on internal only class-->
32-
<difference>
33-
<className>com/google/cloud/datastore/ReadOption$QueryConfig</className>
34-
<method>com.google.cloud.datastore.ReadOption$QueryConfig create(com.google.cloud.datastore.Query, java.util.List)</method>
35-
<to>*com.google.datastore.v1.ExplainOptions*</to>
36-
<differenceType>7005</differenceType>
37-
</difference>
38-
<difference>
39-
<className>com/google/cloud/datastore/ReadOption$QueryConfig</className>
40-
<method>com.google.cloud.datastore.ReadOption$QueryConfig create(com.google.cloud.datastore.Query)</method>
41-
<differenceType>7004</differenceType>
42-
</difference>
4374
<difference>
4475
<className>com/google/cloud/datastore/execution/AggregationQueryExecutor</className>
4576
<method>com.google.cloud.datastore.AggregationResults execute(com.google.cloud.datastore.AggregationQuery, com.google.cloud.datastore.ReadOption[])</method>

google-cloud-datastore/pom.xml

+8
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
<site.installationModule>google-cloud-datastore</site.installationModule>
1919
</properties>
2020
<dependencies>
21+
<dependency>
22+
<groupId>com.google.api.grpc</groupId>
23+
<artifactId>grpc-google-cloud-datastore-v1</artifactId>
24+
</dependency>
2125
<dependency>
2226
<groupId>com.google.api.grpc</groupId>
2327
<artifactId>grpc-google-cloud-datastore-admin-v1</artifactId>
@@ -26,6 +30,10 @@
2630
<groupId>com.google.cloud</groupId>
2731
<artifactId>google-cloud-core-http</artifactId>
2832
</dependency>
33+
<dependency>
34+
<groupId>com.google.cloud</groupId>
35+
<artifactId>google-cloud-core-grpc</artifactId>
36+
</dependency>
2937
<dependency>
3038
<groupId>com.google.api.grpc</groupId>
3139
<artifactId>proto-google-cloud-datastore-v1</artifactId>

google-cloud-datastore/src/main/java/com/google/cloud/datastore/Batch.java

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.google.cloud.datastore;
1818

19+
import com.google.api.core.InternalExtensionOnly;
1920
import java.util.List;
2021
import javax.annotation.concurrent.NotThreadSafe;
2122

@@ -42,6 +43,7 @@
4243
* This class too should not be treated as a thread safe class. </b>
4344
*/
4445
@NotThreadSafe
46+
@InternalExtensionOnly
4547
public interface Batch extends DatastoreBatchWriter {
4648

4749
interface Response {

google-cloud-datastore/src/main/java/com/google/cloud/datastore/Datastore.java

+19-13
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@
1717
package com.google.cloud.datastore;
1818

1919
import com.google.api.core.BetaApi;
20+
import com.google.api.core.InternalExtensionOnly;
2021
import com.google.cloud.Service;
2122
import com.google.cloud.datastore.models.ExplainOptions;
2223
import com.google.datastore.v1.TransactionOptions;
2324
import java.util.Iterator;
2425
import java.util.List;
2526

2627
/** An interface for Google Cloud Datastore. */
27-
public interface Datastore extends Service<DatastoreOptions>, DatastoreReaderWriter {
28+
@InternalExtensionOnly
29+
public interface Datastore extends Service<DatastoreOptions>, DatastoreReaderWriter, AutoCloseable {
2830

2931
/**
3032
* Returns a new Datastore transaction.
@@ -51,9 +53,9 @@ public interface Datastore extends Service<DatastoreOptions>, DatastoreReaderWri
5153
* @param <T> the type of the return value
5254
*/
5355
interface TransactionCallable<T> {
56+
5457
T run(DatastoreReaderWriter readerWriter) throws Exception;
5558
}
56-
5759
/**
5860
* Invokes the callback's {@link Datastore.TransactionCallable#run} method with a {@link
5961
* DatastoreReaderWriter} that is associated with a new transaction. The transaction will be
@@ -481,10 +483,7 @@ interface TransactionCallable<T> {
481483
* @throws DatastoreException upon failure
482484
*/
483485
@BetaApi
484-
default <T> QueryResults<T> run(
485-
Query<T> query, ExplainOptions explainOptions, ReadOption... options) {
486-
throw new UnsupportedOperationException("Not implemented.");
487-
}
486+
<T> QueryResults<T> run(Query<T> query, ExplainOptions explainOptions, ReadOption... options);
488487

489488
/**
490489
* Submits a {@link AggregationQuery} and returns {@link AggregationResults}. {@link ReadOption}s
@@ -529,9 +528,7 @@ default <T> QueryResults<T> run(
529528
* @throws DatastoreException upon failure
530529
* @return {@link AggregationResults}
531530
*/
532-
default AggregationResults runAggregation(AggregationQuery query, ReadOption... options) {
533-
throw new UnsupportedOperationException("Not implemented.");
534-
}
531+
AggregationResults runAggregation(AggregationQuery query, ReadOption... options);
535532

536533
/**
537534
* Submits a {@link AggregationQuery} with specified {@link
@@ -557,8 +554,17 @@ default AggregationResults runAggregation(AggregationQuery query, ReadOption...
557554
* @return {@link AggregationResults}
558555
*/
559556
@BetaApi
560-
default AggregationResults runAggregation(
561-
AggregationQuery query, ExplainOptions explainOptions, ReadOption... options) {
562-
throw new UnsupportedOperationException("Not implemented.");
563-
}
557+
AggregationResults runAggregation(
558+
AggregationQuery query, ExplainOptions explainOptions, ReadOption... options);
559+
560+
/**
561+
* Closes the gRPC channels associated with this instance and frees up their resources. This
562+
* method blocks until all channels are closed. Once this method is called, this Datastore client
563+
* is no longer usable.
564+
*/
565+
@Override
566+
void close() throws Exception;
567+
568+
/** Returns true if this background resource has been shut down. */
569+
boolean isClosed();
564570
}

google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.google.cloud.datastore;
1818

19+
import com.google.api.core.InternalExtensionOnly;
1920
import java.util.List;
2021
import javax.annotation.concurrent.NotThreadSafe;
2122

@@ -31,6 +32,7 @@
3132
* This class too should not be treated as a thread safe class. </b>
3233
*/
3334
@NotThreadSafe
35+
@InternalExtensionOnly
3436
public interface DatastoreBatchWriter extends DatastoreWriter {
3537

3638
/**

google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreException.java

+80-1
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,16 @@
1616

1717
package com.google.cloud.datastore;
1818

19+
import com.google.api.gax.grpc.GrpcStatusCode;
20+
import com.google.api.gax.rpc.ApiException;
21+
import com.google.api.gax.rpc.StatusCode;
1922
import com.google.cloud.BaseServiceException;
2023
import com.google.cloud.RetryHelper.RetryHelperException;
2124
import com.google.cloud.http.BaseHttpServiceException;
25+
import com.google.common.base.Strings;
2226
import com.google.common.collect.ImmutableSet;
27+
import io.grpc.StatusException;
28+
import io.grpc.StatusRuntimeException;
2329
import java.io.IOException;
2430
import java.util.Set;
2531

@@ -43,6 +49,10 @@ public DatastoreException(int code, String message, String reason) {
4349
this(code, message, reason, true, null);
4450
}
4551

52+
public DatastoreException(int code, String message, Throwable cause) {
53+
super(code, message, null, true, RETRYABLE_ERRORS, cause);
54+
}
55+
4656
public DatastoreException(int code, String message, String reason, Throwable cause) {
4757
super(code, message, reason, true, RETRYABLE_ERRORS, cause);
4858
}
@@ -64,7 +74,76 @@ public DatastoreException(IOException exception) {
6474
*/
6575
static DatastoreException translateAndThrow(RetryHelperException ex) {
6676
BaseServiceException.translate(ex);
67-
throw new DatastoreException(UNKNOWN_CODE, ex.getMessage(), null, ex.getCause());
77+
throw transformThrowable(ex);
78+
}
79+
80+
static BaseServiceException transformThrowable(Throwable t) {
81+
if (t instanceof BaseServiceException) {
82+
return (BaseServiceException) t;
83+
}
84+
if (t.getCause() instanceof BaseServiceException) {
85+
return (BaseServiceException) t.getCause();
86+
}
87+
if (t instanceof ApiException) {
88+
return asDatastoreException((ApiException) t);
89+
}
90+
if (t.getCause() instanceof ApiException) {
91+
return asDatastoreException((ApiException) t.getCause());
92+
}
93+
return getDatastoreException(t);
94+
}
95+
96+
private static DatastoreException getDatastoreException(Throwable t) {
97+
// unwrap a RetryHelperException if that is what is being translated
98+
if (t instanceof RetryHelperException) {
99+
return new DatastoreException(UNKNOWN_CODE, t.getMessage(), null, t.getCause());
100+
}
101+
return new DatastoreException(UNKNOWN_CODE, t.getMessage(), t);
102+
}
103+
104+
static DatastoreException asDatastoreException(ApiException apiEx) {
105+
int datastoreStatusCode = 0;
106+
StatusCode statusCode = apiEx.getStatusCode();
107+
if (statusCode instanceof GrpcStatusCode) {
108+
GrpcStatusCode gsc = (GrpcStatusCode) statusCode;
109+
datastoreStatusCode =
110+
GrpcToDatastoreCodeTranslation.grpcCodeToDatastoreStatusCode(gsc.getTransportCode());
111+
}
112+
113+
// If there is a gRPC exception in our cause, pull its error message up to be our
114+
// message otherwise, create a generic error message with the status code.
115+
String statusCodeName = statusCode.getCode().name();
116+
String statusExceptionMessage = getStatusExceptionMessage(apiEx);
117+
118+
String message;
119+
if (statusExceptionMessage != null) {
120+
message = statusCodeName + ": " + statusExceptionMessage;
121+
} else {
122+
message = "Error: " + statusCodeName;
123+
}
124+
125+
String reason = "";
126+
if (Strings.isNullOrEmpty(apiEx.getReason())) {
127+
if (apiEx.getStatusCode() != null) {
128+
reason = apiEx.getStatusCode().getCode().name();
129+
}
130+
}
131+
// It'd be better to use ExceptionData and BaseServiceException#<init>(ExceptionData) but,
132+
// BaseHttpServiceException does not pass that through so we're stuck using this for now.
133+
// TODO: When we can break the coupling to BaseHttpServiceException replace this
134+
return new DatastoreException(datastoreStatusCode, message, reason, apiEx);
135+
}
136+
137+
private static String getStatusExceptionMessage(Exception apiEx) {
138+
if (apiEx.getMessage() != null) {
139+
return apiEx.getMessage();
140+
} else {
141+
Throwable cause = apiEx.getCause();
142+
if (cause instanceof StatusRuntimeException || cause instanceof StatusException) {
143+
return cause.getMessage();
144+
}
145+
return null;
146+
}
68147
}
69148

70149
/**

google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreFactory.java

+2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616

1717
package com.google.cloud.datastore;
1818

19+
import com.google.api.core.InternalExtensionOnly;
1920
import com.google.cloud.ServiceFactory;
2021

2122
/** An interface for Datastore factories. */
23+
@InternalExtensionOnly
2224
public interface DatastoreFactory extends ServiceFactory<Datastore, DatastoreOptions> {}

0 commit comments

Comments
 (0)