diff --git a/.github/readme/synth.metadata/synth.metadata b/.github/readme/synth.metadata/synth.metadata index 8cd6bad21..0a64bc391 100644 --- a/.github/readme/synth.metadata/synth.metadata +++ b/.github/readme/synth.metadata/synth.metadata @@ -4,14 +4,14 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-firestore.git", - "sha": "4259bb218f2dd3edbdfb3271bbcd361d45b5e064" + "sha": "abf03fd06d4f77582c2ad24b8721b3c3556bdef1" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "c3e41da0fa256ad7f6b4bc76b9d069dedecdfef4" + "sha": "2430f8d90ed8a508e8422a3a7191e656d5a6bf53" } } ] diff --git a/CHANGELOG.md b/CHANGELOG.md index a5071cd98..8b6955d57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +### [2.5.1](https://www.github.com/googleapis/java-firestore/compare/v2.5.0...v2.5.1) (2021-06-22) + + +### Bug Fixes + +* return results from getPartitions() in order ([#653](https://www.github.com/googleapis/java-firestore/issues/653)) ([12d17d1](https://www.github.com/googleapis/java-firestore/commit/12d17d1ac9d7a1c21eca1469164b079de4476633)) + + +### Dependencies + +* update dependency com.google.cloud:google-cloud-conformance-tests to v0.1.1 ([#650](https://www.github.com/googleapis/java-firestore/issues/650)) ([b93ca8a](https://www.github.com/googleapis/java-firestore/commit/b93ca8a2b5751c61b3fbe0ca608056e2c0398575)) +* update dependency com.google.cloud:google-cloud-shared-dependencies to v1.3.0 ([#660](https://www.github.com/googleapis/java-firestore/issues/660)) ([0f13fd0](https://www.github.com/googleapis/java-firestore/commit/0f13fd0c0db0208b9f68a57dabcb1e998b4a7b9b)) + ## [2.5.0](https://www.github.com/googleapis/java-firestore/compare/v2.4.0...v2.5.0) (2021-06-01) diff --git a/README.md b/README.md index 46b61008d..6e1246b0d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file com.google.cloud libraries-bom - 20.5.0 + 20.6.0 pom import @@ -45,18 +45,18 @@ If you are using Maven without BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies ```Groovy -implementation platform('com.google.cloud:libraries-bom:20.5.0') +implementation platform('com.google.cloud:libraries-bom:20.6.0') compile 'com.google.cloud:google-cloud-firestore' ``` If you are using Gradle without BOM, add this to your dependencies ```Groovy -compile 'com.google.cloud:google-cloud-firestore:2.4.0' +compile 'com.google.cloud:google-cloud-firestore:2.5.0' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-firestore" % "2.4.0" +libraryDependencies += "com.google.cloud" % "google-cloud-firestore" % "2.5.0" ``` ## Authentication diff --git a/google-cloud-firestore-admin/pom.xml b/google-cloud-firestore-admin/pom.xml index 58679fcd0..48f940aec 100644 --- a/google-cloud-firestore-admin/pom.xml +++ b/google-cloud-firestore-admin/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 google-cloud-firestore-admin - 2.5.0 + 2.5.1 jar Google Cloud Firestore Admin Client https://github.com/googleapis/java-firestore @@ -14,7 +14,7 @@ com.google.cloud google-cloud-firestore-parent - 2.5.0 + 2.5.1 diff --git a/google-cloud-firestore-admin/src/test/java/com/google/cloud/firestore/v1/FirestoreAdminClientTest.java b/google-cloud-firestore-admin/src/test/java/com/google/cloud/firestore/v1/FirestoreAdminClientTest.java index 4372bd480..bd6588a9b 100644 --- a/google-cloud-firestore-admin/src/test/java/com/google/cloud/firestore/v1/FirestoreAdminClientTest.java +++ b/google-cloud-firestore-admin/src/test/java/com/google/cloud/firestore/v1/FirestoreAdminClientTest.java @@ -67,10 +67,10 @@ @Generated("by gapic-generator-java") public class FirestoreAdminClientTest { + private static MockFirestoreAdmin mockFirestoreAdmin; private static MockServiceHelper mockServiceHelper; private FirestoreAdminClient client; private LocalChannelProvider channelProvider; - private static MockFirestoreAdmin mockFirestoreAdmin; @BeforeClass public static void startStaticServer() { diff --git a/google-cloud-firestore-bom/pom.xml b/google-cloud-firestore-bom/pom.xml index e35143f00..595127e76 100644 --- a/google-cloud-firestore-bom/pom.xml +++ b/google-cloud-firestore-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-firestore-bom - 2.5.0 + 2.5.1 pom com.google.cloud @@ -63,37 +63,37 @@ com.google.cloud google-cloud-firestore - 2.5.0 + 2.5.1 com.google.api.grpc proto-google-cloud-firestore-admin-v1 - 2.5.0 + 2.5.1 com.google.cloud proto-google-cloud-firestore-bundle-v1 - 2.5.0 + 2.5.1 com.google.api.grpc proto-google-cloud-firestore-v1 - 2.5.0 + 2.5.1 com.google.api.grpc grpc-google-cloud-firestore-admin-v1 - 2.5.0 + 2.5.1 com.google.api.grpc grpc-google-cloud-firestore-v1 - 2.5.0 + 2.5.1 com.google.cloud google-cloud-firestore-admin - 2.5.0 + 2.5.1 diff --git a/google-cloud-firestore/pom.xml b/google-cloud-firestore/pom.xml index 29cc84513..bfb17b1fd 100644 --- a/google-cloud-firestore/pom.xml +++ b/google-cloud-firestore/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 google-cloud-firestore - 2.5.0 + 2.5.1 jar Google Cloud Firestore https://github.com/googleapis/java-firestore @@ -14,7 +14,7 @@ com.google.cloud google-cloud-firestore-parent - 2.5.0 + 2.5.1 google-cloud-firestore @@ -142,7 +142,7 @@ com.google.cloud google-cloud-conformance-tests - 0.0.13 + 0.1.1 test diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/CollectionGroup.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/CollectionGroup.java index bcfc3b920..0a4c35e73 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/CollectionGroup.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/CollectionGroup.java @@ -33,7 +33,9 @@ import io.opencensus.common.Scope; import io.opencensus.trace.Span; import io.opencensus.trace.Status; +import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.List; import javax.annotation.Nullable; @@ -63,6 +65,8 @@ public class CollectionGroup extends Query { * parallel. The returned partition cursors are split points that can be used as starting/end * points for the query results. * + * @deprecated Please use {@link #getPartitions(long)} instead. All cursors will be loaded before + * any value will be provided to {@code observer}. * @param desiredPartitionCount The desired maximum number of partition points. The number must be * strictly positive. The actual number of partitions returned may be fewer. * @param observer a stream observer that receives the result of the Partition request. @@ -159,8 +163,23 @@ private PartitionQueryRequest buildRequest(long desiredPartitionCount) { private void consumePartitions( PartitionQueryPagedResponse response, Function consumer) { - @Nullable Object[] lastCursor = null; + List cursors = new ArrayList<>(); for (Cursor cursor : response.iterateAll()) { + cursors.add(cursor); + } + + // Sort the partitions as they may not be ordered if responses are paged. + Collections.sort( + cursors, + new Comparator() { + @Override + public int compare(Cursor left, Cursor right) { + return Order.INSTANCE.compareArrays(left.getValuesList(), right.getValuesList()); + } + }); + + @Nullable Object[] lastCursor = null; + for (Cursor cursor : cursors) { Object[] decodedCursorValue = new Object[cursor.getValuesCount()]; for (int i = 0; i < cursor.getValuesCount(); ++i) { decodedCursorValue[i] = UserDataConverter.decodeValue(rpcContext, cursor.getValues(i)); diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/Order.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/Order.java index 46d1ffa7c..67348a728 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/Order.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/Order.java @@ -109,7 +109,8 @@ public int compare(@Nonnull Value left, @Nonnull Value right) { case GEO_POINT: return compareGeoPoints(left, right); case ARRAY: - return compareArrays(left, right); + return compareArrays( + left.getArrayValue().getValuesList(), right.getArrayValue().getValuesList()); case OBJECT: return compareObjects(left, right); default: @@ -171,27 +172,22 @@ private int compareResourcePaths(Value left, Value right) { return leftPath.compareTo(rightPath); } - private int compareArrays(Value left, Value right) { - List leftValue = left.getArrayValue().getValuesList(); - List rightValue = right.getArrayValue().getValuesList(); - - int minLength = Math.min(leftValue.size(), rightValue.size()); + public int compareArrays(List left, List right) { + int minLength = Math.min(left.size(), right.size()); for (int i = 0; i < minLength; i++) { - int cmp = compare(leftValue.get(i), rightValue.get(i)); + int cmp = compare(left.get(i), right.get(i)); if (cmp != 0) { return cmp; } } - return Integer.compare(leftValue.size(), rightValue.size()); + return Integer.compare(left.size(), right.size()); } private int compareObjects(Value left, Value right) { // This requires iterating over the keys in the object in order and doing a // deep comparison. - SortedMap leftMap = new TreeMap<>(); - leftMap.putAll(left.getMapValue().getFieldsMap()); - SortedMap rightMap = new TreeMap<>(); - rightMap.putAll(right.getMapValue().getFieldsMap()); + SortedMap leftMap = new TreeMap<>(left.getMapValue().getFieldsMap()); + SortedMap rightMap = new TreeMap<>(right.getMapValue().getFieldsMap()); Iterator> leftIterator = leftMap.entrySet().iterator(); Iterator> rightIterator = rightMap.entrySet().iterator(); diff --git a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/PartitionQuery.java b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/PartitionQuery.java new file mode 100644 index 000000000..26d7c4cde --- /dev/null +++ b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/PartitionQuery.java @@ -0,0 +1,204 @@ +/* + * Copyright 2021 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.cloud.firestore; + +import static com.google.cloud.firestore.LocalFirestoreHelper.queryResponse; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.when; + +import com.google.api.core.ApiFutures; +import com.google.api.gax.rpc.ApiStreamObserver; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.firestore.spi.v1.FirestoreRpc; +import com.google.cloud.firestore.v1.FirestoreClient.PartitionQueryPage; +import com.google.cloud.firestore.v1.FirestoreClient.PartitionQueryPagedResponse; +import com.google.common.collect.ImmutableList; +import com.google.firestore.v1.Cursor; +import com.google.firestore.v1.PartitionQueryRequest; +import com.google.firestore.v1.PartitionQueryResponse; +import com.google.firestore.v1.RunQueryRequest; +import com.google.firestore.v1.StructuredQuery; +import com.google.firestore.v1.Value; +import java.util.List; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Matchers; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.Spy; +import org.mockito.runners.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class PartitionQuery { + public static final String DATABASE_NAME = "projects/test-project/databases/(default)/documents"; + public static final Cursor CURSOR1 = + Cursor.newBuilder() + .addValues(Value.newBuilder().setReferenceValue(DATABASE_NAME + "/collection/doc1")) + .build(); + public static final Cursor PARTITION1 = CURSOR1.toBuilder().setBefore(true).build(); + public static final Cursor CURSOR2 = + Cursor.newBuilder() + .addValues(Value.newBuilder().setReferenceValue(DATABASE_NAME + "/collection/doc2")) + .build(); + public static final Cursor PARTITION2 = CURSOR2.toBuilder().setBefore(true).build(); + + @Spy + private final FirestoreImpl firestoreMock = + new FirestoreImpl( + FirestoreOptions.newBuilder().setProjectId("test-project").build(), + Mockito.mock(FirestoreRpc.class)); + + @Mock private UnaryCallable callable; + @Mock private PartitionQueryPagedResponse pagedResponse; + @Mock private PartitionQueryPage queryPage; + + @Captor private ArgumentCaptor runQuery; + @Captor private ArgumentCaptor streamObserverCapture; + @Captor private ArgumentCaptor requestCaptor; + + @Test + public void requestsOneLessThanDesired() throws Exception { + int desiredPartitionsCount = 2; + + PartitionQueryRequest expectedRequest = + PartitionQueryRequest.newBuilder() + .setParent(DATABASE_NAME) + .setStructuredQuery( + StructuredQuery.newBuilder() + .addFrom( + StructuredQuery.CollectionSelector.newBuilder() + .setAllDescendants(true) + .setCollectionId("collectionId")) + .addOrderBy( + StructuredQuery.Order.newBuilder() + .setField( + StructuredQuery.FieldReference.newBuilder() + .setFieldPath("__name__")) + .setDirection(StructuredQuery.Direction.ASCENDING))) + .setPartitionCount(desiredPartitionsCount - 1) + .build(); + + PartitionQueryResponse response = + PartitionQueryResponse.newBuilder().addPartitions(CURSOR1).build(); + + when(pagedResponse.iterateAll()).thenReturn(ImmutableList.of(CURSOR1)); + when(queryPage.getResponse()).thenReturn(response); + doReturn(ApiFutures.immediateFuture(pagedResponse)) + .when(firestoreMock) + .sendRequest( + requestCaptor.capture(), + Matchers.>any()); + + firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount).get(); + + PartitionQueryRequest actualRequest = requestCaptor.getValue(); + assertEquals(actualRequest, expectedRequest); + } + + @Test + public void doesNotIssueRpcIfOnlyASinglePartitionIsRequested() throws Exception { + int desiredPartitionsCount = 1; + + List partitions = + firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount).get(); + + assertEquals(partitions.size(), 1); + assertNull(partitions.get(0).getStartAt()); + assertNull(partitions.get(0).getEndBefore()); + } + + @Test + public void validatesPartitionCount() { + int desiredPartitionsCount = 0; + try { + firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount); + fail(); + } catch (IllegalArgumentException e) { + assertEquals(e.getMessage(), "Desired partition count must be one or greater"); + } + } + + @Test + public void convertsPartitionsToQueries() throws Exception { + int desiredPartitionsCount = 3; + + PartitionQueryResponse response = + PartitionQueryResponse.newBuilder().addPartitions(CURSOR1).build(); + + when(pagedResponse.iterateAll()).thenReturn(ImmutableList.of(CURSOR1, CURSOR2)); + when(queryPage.getResponse()).thenReturn(response); + doReturn(ApiFutures.immediateFuture(pagedResponse)) + .when(firestoreMock) + .sendRequest( + requestCaptor.capture(), + Matchers.>any()); + + doAnswer(queryResponse()) + .when(firestoreMock) + .streamRequest( + runQuery.capture(), + streamObserverCapture.capture(), + Matchers.any()); + + List partitions = + firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount).get(); + + assertEquals(partitions.size(), 3); + for (QueryPartition partition : partitions) { + partition.createQuery().get(); + } + + assertEquals(runQuery.getAllValues().size(), 3); + + assertFalse(runQuery.getAllValues().get(0).getStructuredQuery().hasStartAt()); + assertEquals(runQuery.getAllValues().get(0).getStructuredQuery().getEndAt(), PARTITION1); + assertEquals(runQuery.getAllValues().get(1).getStructuredQuery().getStartAt(), PARTITION1); + assertEquals(runQuery.getAllValues().get(1).getStructuredQuery().getEndAt(), PARTITION2); + assertEquals(runQuery.getAllValues().get(2).getStructuredQuery().getStartAt(), PARTITION2); + assertFalse(runQuery.getAllValues().get(2).getStructuredQuery().hasEndAt()); + } + + @Test + public void sortsPartitions() throws Exception { + int desiredPartitionsCount = 3; + + PartitionQueryResponse response = + PartitionQueryResponse.newBuilder().addPartitions(CURSOR1).build(); + + when(pagedResponse.iterateAll()).thenReturn(ImmutableList.of(CURSOR2, CURSOR1)); + when(queryPage.getResponse()).thenReturn(response); + doReturn(ApiFutures.immediateFuture(pagedResponse)) + .when(firestoreMock) + .sendRequest( + requestCaptor.capture(), + Matchers.>any()); + + List partitions = + firestoreMock.collectionGroup("collectionId").getPartitions(desiredPartitionsCount).get(); + + assertEquals(((DocumentReference) partitions.get(0).getEndBefore()[0]).getId(), "doc1"); + assertEquals(((DocumentReference) partitions.get(1).getEndBefore()[0]).getId(), "doc2"); + } +} diff --git a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java index da94de92a..a5572efbe 100644 --- a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java +++ b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/it/ITSystemTest.java @@ -1537,7 +1537,6 @@ public Void updateCallback(Transaction transaction) throws Exception { final StatusRuntimeException invalidArgument = (StatusRuntimeException) rootCause; final Status status = invalidArgument.getStatus(); assertThat(status.getCode()).isEqualTo(Code.FAILED_PRECONDITION); - assertThat(status.getDescription()).contains("minimum"); } } diff --git a/grpc-google-cloud-firestore-admin-v1/pom.xml b/grpc-google-cloud-firestore-admin-v1/pom.xml index 9f717b6d0..846e7b4c8 100644 --- a/grpc-google-cloud-firestore-admin-v1/pom.xml +++ b/grpc-google-cloud-firestore-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-firestore-admin-v1 - 2.5.0 + 2.5.1 grpc-google-cloud-firestore-admin-v1 GRPC library for grpc-google-cloud-firestore-admin-v1 com.google.cloud google-cloud-firestore-parent - 2.5.0 + 2.5.1 diff --git a/grpc-google-cloud-firestore-v1/pom.xml b/grpc-google-cloud-firestore-v1/pom.xml index 00d372f9b..0a269fc6a 100644 --- a/grpc-google-cloud-firestore-v1/pom.xml +++ b/grpc-google-cloud-firestore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-firestore-v1 - 2.5.0 + 2.5.1 grpc-google-cloud-firestore-v1 GRPC library for grpc-google-cloud-firestore-v1 com.google.cloud google-cloud-firestore-parent - 2.5.0 + 2.5.1 diff --git a/pom.xml b/pom.xml index 6e3b12389..2dc41352c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-firestore-parent pom - 2.5.0 + 2.5.1 Google Cloud Firestore Parent https://github.com/googleapis/java-firestore @@ -159,33 +159,33 @@ com.google.api.grpc proto-google-cloud-firestore-admin-v1 - 2.5.0 + 2.5.1 com.google.cloud proto-google-cloud-firestore-bundle-v1 - 2.5.0 + 2.5.1 com.google.api.grpc proto-google-cloud-firestore-v1 - 2.5.0 + 2.5.1 com.google.api.grpc grpc-google-cloud-firestore-admin-v1 - 2.5.0 + 2.5.1 com.google.api.grpc grpc-google-cloud-firestore-v1 - 2.5.0 + 2.5.1 com.google.cloud google-cloud-shared-dependencies - 1.2.0 + 1.3.0 pom import diff --git a/proto-google-cloud-firestore-admin-v1/pom.xml b/proto-google-cloud-firestore-admin-v1/pom.xml index 8964e8617..7f2a3dfcf 100644 --- a/proto-google-cloud-firestore-admin-v1/pom.xml +++ b/proto-google-cloud-firestore-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-firestore-admin-v1 - 2.5.0 + 2.5.1 proto-google-cloud-firestore-admin-v1 PROTO library for proto-google-cloud-firestore-admin-v1 com.google.cloud google-cloud-firestore-parent - 2.5.0 + 2.5.1 diff --git a/proto-google-cloud-firestore-bundle-v1/pom.xml b/proto-google-cloud-firestore-bundle-v1/pom.xml index 32a577c61..f289d108f 100644 --- a/proto-google-cloud-firestore-bundle-v1/pom.xml +++ b/proto-google-cloud-firestore-bundle-v1/pom.xml @@ -5,14 +5,14 @@ 4.0.0 proto-google-cloud-firestore-bundle-v1 - 2.5.0 + 2.5.1 proto-google-cloud-firestore-bundle-v1 PROTO library for proto-google-cloud-firestore-bundle-v1 com.google.cloud google-cloud-firestore-parent - 2.5.0 + 2.5.1 diff --git a/proto-google-cloud-firestore-v1/pom.xml b/proto-google-cloud-firestore-v1/pom.xml index d97e59c12..c8b9c7d04 100644 --- a/proto-google-cloud-firestore-v1/pom.xml +++ b/proto-google-cloud-firestore-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-firestore-v1 - 2.5.0 + 2.5.1 proto-google-cloud-firestore-v1 PROTO library for proto-google-cloud-firestore-v1 com.google.cloud google-cloud-firestore-parent - 2.5.0 + 2.5.1 diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index eee746bf8..0fa023e07 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.22 + 1.0.23 diff --git a/samples/pom.xml b/samples/pom.xml index de74333f8..2bb23bc26 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -18,7 +18,7 @@ com.google.cloud.samples shared-configuration - 1.0.22 + 1.0.23 diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index b3c377920..dd3bf321c 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.22 + 1.0.23 diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 5c57be792..93233ffe7 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -14,7 +14,7 @@ com.google.cloud.samples shared-configuration - 1.0.22 + 1.0.23 @@ -33,7 +33,7 @@ com.google.cloud libraries-bom - 20.5.0 + 20.6.0 pom import diff --git a/synth.metadata b/synth.metadata index 2d5b8008e..a5ef91995 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-firestore.git", - "sha": "2be1f7b614ecc2d2be91a4d1b14d74debb8e686d" + "sha": "41a00782d1ca14e8ce80c3083b1ef01057dbac5b" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "299383230f69e9f2272adda8e0d93c4fdf231deb", - "internalRef": "367054341" + "sha": "a5f96d06ef57e325761bad010f460d0c5dbeccda", + "internalRef": "377081269" } }, { diff --git a/versions.txt b/versions.txt index 9e9b6cdb7..e7e076bb2 100644 --- a/versions.txt +++ b/versions.txt @@ -1,11 +1,11 @@ # Format: # module:released-version:current-version -google-cloud-firestore:2.5.0:2.5.0 -google-cloud-firestore-admin:2.5.0:2.5.0 -google-cloud-firestore-bom:2.5.0:2.5.0 -google-cloud-firestore-parent:2.5.0:2.5.0 -grpc-google-cloud-firestore-admin-v1:2.5.0:2.5.0 -grpc-google-cloud-firestore-v1:2.5.0:2.5.0 -proto-google-cloud-firestore-admin-v1:2.5.0:2.5.0 -proto-google-cloud-firestore-v1:2.5.0:2.5.0 +google-cloud-firestore:2.5.1:2.5.1 +google-cloud-firestore-admin:2.5.1:2.5.1 +google-cloud-firestore-bom:2.5.1:2.5.1 +google-cloud-firestore-parent:2.5.1:2.5.1 +grpc-google-cloud-firestore-admin-v1:2.5.1:2.5.1 +grpc-google-cloud-firestore-v1:2.5.1:2.5.1 +proto-google-cloud-firestore-admin-v1:2.5.1:2.5.1 +proto-google-cloud-firestore-v1:2.5.1:2.5.1