diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml new file mode 100644 index 0000000000..be3b9bde4f --- /dev/null +++ b/.github/.OwlBot.lock.yaml @@ -0,0 +1,16 @@ +# Copyright 2022 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. +docker: + image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest + digest: sha256:7062473f423f339256346ddbee3d81fb1de6b784fabc2a4d959d7df2c720e375 diff --git a/.github/.OwlBot.yaml b/.github/.OwlBot.yaml new file mode 100644 index 0000000000..700ec1611c --- /dev/null +++ b/.github/.OwlBot.yaml @@ -0,0 +1,37 @@ +# 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. + +docker: + image: "gcr.io/cloud-devrel-public-resources/owlbot-java:latest" + +deep-remove-regex: +- "/grpc-google-.*/src" +- "/proto-google-.*/src" + +deep-preserve-regex: +- "/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" + +deep-copy-regex: +- source: "/google/bigtable/(v\\d)/.*-java/proto-google-.*/src" + dest: "/owl-bot-staging/$1/proto-google-cloud-bigtable-$1/src" +- source: "/google/bigtable/(v\\d)/.*-java/grpc-google-.*/src" + dest: "/owl-bot-staging/$1/grpc-google-cloud-bigtable-$1/src" +- source: "/google/bigtable/(v\\d)/.*-java/gapic-google-.*/src" + dest: "/owl-bot-staging/$1/google-cloud-bigtable/src" +- source: "/google/bigtable/admin/(v\\d)/.*-java/proto-google-.*/src" + dest: "/owl-bot-staging/$1/proto-google-cloud-bigtable-admin-$1/src" +- source: "/google/bigtable/admin/(v\\d)/.*-java/grpc-google-.*/src" + dest: "/owl-bot-staging/$1/grpc-google-cloud-bigtable-admin-$1/src" +- source: "/google/bigtable/admin/(v\\d)/.*-java/gapic-google-.*/src" + dest: "/owl-bot-staging/$1/google-cloud-bigtable/src" \ No newline at end of file diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml index e1df1503e6..4a2c04441f 100644 --- a/.github/sync-repo-settings.yaml +++ b/.github/sync-repo-settings.yaml @@ -16,6 +16,7 @@ branchProtectionRules: - units (11) - 'Kokoro - Test: Integration' - cla/google + - OwlBot Post Processor - pattern: 1.22.0-sp isAdminEnforced: true requiredApprovingReviewCount: 1 @@ -58,6 +59,7 @@ branchProtectionRules: - units (11) - 'Kokoro - Test: Integration' - cla/google + - OwlBot Post Processor permissionRules: - team: yoshi-admins permission: admin diff --git a/.github/workflows/approve-readme.yaml b/.github/workflows/approve-readme.yaml index 7513acaebc..c513242798 100644 --- a/.github/workflows/approve-readme.yaml +++ b/.github/workflows/approve-readme.yaml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-latest if: github.repository_owner == 'googleapis' && github.head_ref == 'autosynth-readme' steps: - - uses: actions/github-script@v3 + - uses: actions/github-script@v5 with: github-token: ${{secrets.YOSHI_APPROVER_TOKEN}} script: | diff --git a/.github/workflows/auto-release.yaml b/.github/workflows/auto-release.yaml index 9b4fd4d834..59c7cadde3 100644 --- a/.github/workflows/auto-release.yaml +++ b/.github/workflows/auto-release.yaml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-latest if: contains(github.head_ref, 'release-please') steps: - - uses: actions/github-script@v3 + - uses: actions/github-script@v5 with: github-token: ${{secrets.YOSHI_APPROVER_TOKEN}} debug: true diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 856cdfe7ae..5c9c321e53 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -47,15 +47,15 @@ set +e case ${JOB_TYPE} in test) - mvn test -B -Dclirr.skip=true -Denforcer.skip=true + mvn test -B -ntp -Dclirr.skip=true -Denforcer.skip=true RETURN_CODE=$? ;; lint) - mvn com.coveo:fmt-maven-plugin:check + mvn com.coveo:fmt-maven-plugin:check -B -ntp RETURN_CODE=$? ;; javadoc) - mvn javadoc:javadoc javadoc:test-javadoc + mvn javadoc:javadoc javadoc:test-javadoc -B -ntp RETURN_CODE=$? ;; integration) @@ -71,7 +71,7 @@ integration) ;; graalvm) # Run Unit and Integration Tests with Native Image - mvn -ntp -Pnative -Penable-integration-tests test + mvn -B ${INTEGRATION_TEST_ARGS} -ntp -Pnative -Penable-integration-tests test RETURN_CODE=$? ;; samples) @@ -104,7 +104,7 @@ samples) fi ;; clirr) - mvn -B -Denforcer.skip=true clirr:check + mvn -B -ntp -Denforcer.skip=true clirr:check RETURN_CODE=$? ;; *) diff --git a/.repo-metadata.json b/.repo-metadata.json index be73fd26d5..0fd6f4361b 100644 --- a/.repo-metadata.json +++ b/.repo-metadata.json @@ -4,12 +4,14 @@ "product_documentation": "https://cloud.google.com/bigtable", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-bigtable/latest/history", "issue_tracker": "https://issuetracker.google.com/savedsearches/559777", - "release_level": "ga", + "release_level": "stable", "language": "java", "repo": "googleapis/java-bigtable", "repo_short": "java-bigtable", "distribution_name": "com.google.cloud:google-cloud-bigtable", "codeowner_team": "@googleapis/api-bigtable", + "api_id": "bigtable.googleapis.com", "library_type": "GAPIC_COMBO", - "api_id": "bigtable.googleapis.com" + "extra_versioned_modules": "google-cloud-bigtable-emulator", + "excluded_poms": "google-cloud-bigtable-bom" } diff --git a/CHANGELOG.md b/CHANGELOG.md index e823a01ebe..23b1b4232b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +### [2.5.2](https://github.com/googleapis/java-bigtable/compare/v2.5.1...v2.5.2) (2022-01-31) + + +### Bug Fixes + +* UpdateAppProfileRequest equals and hashcode should build proto ([#1142](https://github.com/googleapis/java-bigtable/issues/1142)) ([c9f1ed8](https://github.com/googleapis/java-bigtable/commit/c9f1ed8a5fdf44487a8c56388b35067ecfc4daea)) + + +### Dependencies + +* **java:** update actions/github-script action to v5 ([#1339](https://github.com/googleapis/java-bigtable/issues/1339)) ([#1147](https://github.com/googleapis/java-bigtable/issues/1147)) ([9bfcccf](https://github.com/googleapis/java-bigtable/commit/9bfcccfd76d2a03412cf9fe8c115874f15a95c57)) +* update actions/github-script action to v5 ([#1146](https://github.com/googleapis/java-bigtable/issues/1146)) ([9b2c918](https://github.com/googleapis/java-bigtable/commit/9b2c918c3fad38d3b26d141b53f6dc037a23bed7)) +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.7.0 ([#1150](https://github.com/googleapis/java-bigtable/issues/1150)) ([744e483](https://github.com/googleapis/java-bigtable/commit/744e4830238b6ebe7bab6115ff26600b0c150b62)) + ### [2.5.1](https://www.github.com/googleapis/java-bigtable/compare/v2.5.0...v2.5.1) (2022-01-07) diff --git a/README.md b/README.md index 0714bdced7..aaf1faeda1 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file com.google.cloud libraries-bom - 23.0.0 + 24.2.0 pom import @@ -41,7 +41,7 @@ If you are using Maven without BOM, add this to your dependencies: com.google.cloud google-cloud-bigtable - 2.1.1 + 2.5.1 ``` @@ -49,20 +49,20 @@ 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:23.0.0') +implementation platform('com.google.cloud:libraries-bom:24.2.0') implementation 'com.google.cloud:google-cloud-bigtable' ``` If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.cloud:google-cloud-bigtable:2.1.1' +implementation 'com.google.cloud:google-cloud-bigtable:2.5.1' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.1.1" +libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.5.1" ``` ## Authentication @@ -492,7 +492,7 @@ To get help, follow the instructions in the [shared Troubleshooting document][tr ## Supported Java Versions -Java 7 or above is required for using this client. +Java 8 or above is required for using this client. Google's Java client libraries, [Google Cloud Client Libraries][cloudlibs] @@ -561,7 +561,6 @@ Apache 2.0 - See [LICENSE][license] for more information. Java Version | Status ------------ | ------ -Java 7 | [![Kokoro CI][kokoro-badge-image-1]][kokoro-badge-link-1] Java 8 | [![Kokoro CI][kokoro-badge-image-2]][kokoro-badge-link-2] Java 8 OSX | [![Kokoro CI][kokoro-badge-image-3]][kokoro-badge-link-3] Java 8 Windows | [![Kokoro CI][kokoro-badge-image-4]][kokoro-badge-link-4] @@ -570,7 +569,7 @@ Java 11 | [![Kokoro CI][kokoro-badge-image-5]][kokoro-badge-link-5] Java is a registered trademark of Oracle and/or its affiliates. [product-docs]: https://cloud.google.com/bigtable -[javadocs]: https://googleapis.dev/java/google-cloud-bigtable/latest/index.html +[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-bigtable/latest/history [kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigtable/java7.svg [kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigtable/java7.html [kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigtable/java8.svg @@ -581,7 +580,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigtable/java8-win.html [kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigtable/java11.svg [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigtable/java11.html -[stability-image]: https://img.shields.io/badge/stability-ga-green +[stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigtable.svg [maven-version-link]: https://search.maven.org/search?q=g:com.google.cloud%20AND%20a:google-cloud-bigtable&core=gav [authentication]: https://github.com/googleapis/google-cloud-java#authentication diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index 208cc66a8e..c952d54f97 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -1,116 +1,116 @@ - + 4.0.0 com.google.cloud google-cloud-bigtable-bom - 2.5.1 + 2.5.2 pom com.google.cloud google-cloud-shared-config - 1.2.4 + 1.2.6 Google Cloud Bigtable BOM https://github.com/googleapis/java-bigtable - BOM for Google Cloud Bigtable + BOM for Google Cloud Bigtable - Google LLC + Google LLC - - chingor13 - Jeff Ching - chingor@google.com - Google LLC - - Developer - - - - igorberstein - Igor Bernstein - igorbernstein@google.com - Google LLC - - Developer - - + + chingor13 + Jeff Ching + chingor@google.com + Google LLC + + Developer + + + + igorberstein + Igor Bernstein + igorbernstein@google.com + Google LLC + + Developer + + - scm:git:https://github.com/googleapis/java-bigtable.git - scm:git:git@github.com:googleapis/java-bigtable.git - https://github.com/googleapis/java-bigtable + scm:git:https://github.com/googleapis/java-bigtable.git + scm:git:git@github.com:googleapis/java-bigtable.git + https://github.com/googleapis/java-bigtable - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + - - - com.google.cloud - google-cloud-bigtable - 2.5.1 - - - com.google.cloud - google-cloud-bigtable-emulator - 0.142.1 - - - com.google.api.grpc - grpc-google-cloud-bigtable-admin-v2 - 2.5.1 - - - com.google.api.grpc - grpc-google-cloud-bigtable-v2 - 2.5.1 - - - com.google.api.grpc - proto-google-cloud-bigtable-admin-v2 - 2.5.1 - - - com.google.api.grpc - proto-google-cloud-bigtable-v2 - 2.5.1 - - + + + com.google.cloud + google-cloud-bigtable + 2.5.2 + + + com.google.cloud + google-cloud-bigtable-emulator + 0.142.2 + + + com.google.api.grpc + grpc-google-cloud-bigtable-admin-v2 + 2.5.2 + + + com.google.api.grpc + grpc-google-cloud-bigtable-v2 + 2.5.2 + + + com.google.api.grpc + proto-google-cloud-bigtable-admin-v2 + 2.5.2 + + + com.google.api.grpc + proto-google-cloud-bigtable-v2 + 2.5.2 + + - - - org.apache.maven.plugins - maven-checkstyle-plugin - - true - - + + + org.apache.maven.plugins + maven-checkstyle-plugin + + true + + - - - org.apache.maven.plugins - maven-site-plugin + + + org.apache.maven.plugins + maven-site-plugin - - false - - - + + false + + + - \ No newline at end of file + diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index a100ebcd46..43a03f8f02 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -7,12 +7,12 @@ com.google.cloud google-cloud-shared-config - 1.2.4 + 1.2.6 com.google.cloud google-cloud-bigtable-deps-bom - 2.5.1 + 2.5.2 pom @@ -65,7 +65,7 @@ com.google.cloud google-cloud-shared-dependencies - 2.6.0 + 2.7.0 pom import diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index e6cd16f06a..1b14dbab35 100644 --- a/google-cloud-bigtable-emulator/pom.xml +++ b/google-cloud-bigtable-emulator/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-bigtable-emulator - 0.142.1 + 0.142.2 Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.5.1 + 2.5.2 scm:git:git@github.com:googleapis/java-bigtable.git @@ -81,14 +81,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.5.1 + 2.5.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.5.1 + 2.5.2 pom import diff --git a/google-cloud-bigtable-stats/pom.xml b/google-cloud-bigtable-stats/pom.xml index 57e087e79e..a3a0b92ffb 100644 --- a/google-cloud-bigtable-stats/pom.xml +++ b/google-cloud-bigtable-stats/pom.xml @@ -5,7 +5,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.5.1 + 2.5.2 4.0.0 @@ -13,7 +13,7 @@ through Stackdriver. Built-in metrics will be implemented with shaded OpenCensus so it won't interfere with customer's application metrics. --> google-cloud-bigtable-stats - 2.5.1 + 2.5.2 Experimental project to shade OpenCensus dependencies. @@ -21,7 +21,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.5.1 + 2.5.2 pom import diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index eb628e89bb..ffc484c0ff 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -1,8 +1,8 @@ - + 4.0.0 google-cloud-bigtable - 2.5.1 + 2.5.2 jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,11 +12,11 @@ com.google.cloud google-cloud-bigtable-parent - 2.5.1 + 2.5.2 - 2.5.1 + 2.5.2 google-cloud-bigtable @@ -43,14 +43,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.5.1 + 2.5.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.5.1 + 2.5.2 pom import @@ -545,7 +545,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.2.0 + 3.3.0 add-source diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java index d659ea7992..56b01e66df 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java @@ -20,6 +20,6 @@ @InternalApi("For internal use only") public final class Version { // {x-version-update-start:google-cloud-bigtable:current} - public static String VERSION = "2.5.1"; + public static String VERSION = "2.5.2"; // {x-version-update-end} } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequest.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequest.java index 1697b47f76..49d4c5d702 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequest.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequest.java @@ -151,11 +151,11 @@ public boolean equals(Object o) { UpdateAppProfileRequest that = (UpdateAppProfileRequest) o; return Objects.equal(instanceId, that.instanceId) && Objects.equal(appProfileId, that.appProfileId) - && Objects.equal(proto, that.proto); + && Objects.equal(proto.build(), that.proto.build()); } @Override public int hashCode() { - return Objects.hashCode(instanceId, appProfileId, proto); + return Objects.hashCode(instanceId, appProfileId, proto.build()); } } diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/AppProfileTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/AppProfileTest.java index f8d8f3fb66..64f334bb09 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/AppProfileTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/AppProfileTest.java @@ -114,4 +114,75 @@ public void testNoPolicyError() { assertThat(actualException).isInstanceOf(IllegalArgumentException.class); } + + @Test + public void testEquals() { + AppProfile profile = + AppProfile.fromProto( + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName(AppProfileName.of("my-project", "my-instance", "my-profile").toString()) + .setDescription("my description") + .setMultiClusterRoutingUseAny( + com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() + .addAllClusterIds(ImmutableList.of("cluster-id-1", "cluster-id-2")) + .build()) + .setEtag("my-etag") + .build()); + + UpdateAppProfileRequest updateAppProfileRequest = UpdateAppProfileRequest.of(profile); + UpdateAppProfileRequest updateAppProfileRequest2 = UpdateAppProfileRequest.of(profile); + + assertThat(updateAppProfileRequest).isEqualTo(updateAppProfileRequest2); + + AppProfile profile2 = + AppProfile.fromProto( + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName(AppProfileName.of("my-project-2", "my-instance", "my-profile").toString()) + .setDescription("my description") + .setMultiClusterRoutingUseAny( + com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() + .addAllClusterIds(ImmutableList.of("cluster-id-1", "cluster-id-2")) + .build()) + .setEtag("my-etag") + .build()); + UpdateAppProfileRequest updateAppProfileRequest3 = UpdateAppProfileRequest.of(profile2); + + assertThat(updateAppProfileRequest).isNotEqualTo(updateAppProfileRequest3); + } + + @Test + public void testHashCode() { + AppProfile profile = + AppProfile.fromProto( + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName(AppProfileName.of("my-project", "my-instance", "my-profile").toString()) + .setDescription("my description") + .setMultiClusterRoutingUseAny( + com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() + .addAllClusterIds(ImmutableList.of("cluster-id-1", "cluster-id-2")) + .build()) + .setEtag("my-etag") + .build()); + + UpdateAppProfileRequest updateAppProfileRequest = UpdateAppProfileRequest.of(profile); + UpdateAppProfileRequest updateAppProfileRequest2 = UpdateAppProfileRequest.of(profile); + + assertThat(updateAppProfileRequest.hashCode()).isEqualTo(updateAppProfileRequest2.hashCode()); + + AppProfile profile2 = + AppProfile.fromProto( + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName(AppProfileName.of("my-project-2", "my-instance", "my-profile").toString()) + .setDescription("my description") + .setMultiClusterRoutingUseAny( + com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() + .addAllClusterIds(ImmutableList.of("cluster-id-1", "cluster-id-2")) + .build()) + .setEtag("my-etag") + .build()); + UpdateAppProfileRequest updateAppProfileRequest3 = UpdateAppProfileRequest.of(profile2); + + assertThat(updateAppProfileRequest.hashCode()) + .isNotEqualTo(updateAppProfileRequest3.hashCode()); + } } diff --git a/grpc-google-cloud-bigtable-admin-v2/pom.xml b/grpc-google-cloud-bigtable-admin-v2/pom.xml index ce829d8842..10f9d89486 100644 --- a/grpc-google-cloud-bigtable-admin-v2/pom.xml +++ b/grpc-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.5.1 + 2.5.2 grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.5.1 + 2.5.2 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.5.1 + 2.5.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.5.1 + 2.5.2 pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index a52c7068e6..b3f1938ce7 100644 --- a/grpc-google-cloud-bigtable-v2/pom.xml +++ b/grpc-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.5.1 + 2.5.2 grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.5.1 + 2.5.2 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.5.1 + 2.5.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.5.1 + 2.5.2 pom import diff --git a/owlbot.py b/owlbot.py new file mode 100644 index 0000000000..6a08b5638f --- /dev/null +++ b/owlbot.py @@ -0,0 +1,110 @@ +# Copyright 2018 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. + +"""This script is used to synthesize generated parts of this library.""" + +import re +import os.path +import synthtool as s +import synthtool.gcp as gcp +import synthtool.languages.java as java + +# Paths are relative to the destination, which is the current working directory +data_internal_only = [ + "owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableStub.java", + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java', + "owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/GrpcBigtableStub.java", + "owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/GrpcBigtableCallableFactory.java", +] + +# Paths are relative to the destination, which is the current working directory +admin_internal_only = [ + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableInstanceAdminCallableFactory.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableInstanceAdminStub.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableTableAdminCallableFactory.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableTableAdminStub.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminSettings.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableInstanceAdminStub.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableTableAdminStub.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java', + 'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java', +] + +# TODO: try to move the GAPIC surface hiding to the gapic-generator: +# https://github.com/googleapis/gapic-generator/issues/2742 +def make_internal_only(sources): + """Annotates all toplevel classes with `@InternalOnly`""" + # Insert InternalOnly import in the non-static. + s.replace(sources, + before=r'^(import (?!static).*?\n)\n', + after=r'\1import com.google.api.core.InternalApi;\n\n', + flags=re.MULTILINE | re.DOTALL) + + # Replace javadoc and annotations before every public class with InternalApi + # javadoc and annotation + s.replace(sources, + before=r'/\*\*.+?\*/\n(?:^@[^\n]*\n)*(?=public [a-zA-B ]*class)', + after='/** For internal use only. */\n@Generated("by gapic-generator")\n@InternalApi\n', + flags=re.MULTILINE | re.DOTALL) + + +for library in s.get_staging_dirs(): + # put any special-case replacements here + make_internal_only(data_internal_only) + + # Generate admin client + #todo: fix in synthtool removing comments with method + java.remove_method(f'owl-bot-staging/v2/grpc-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/BigtableInstanceAdminGrpc.java', "public UnaryCallSettings updateInstanceSettings()") + java.remove_method(f'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', "/** Returns the builder for the settings used for calls to updateInstance. */") + java.remove_method(f'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', "public UnaryCallSettings.Builder updateInstanceSettings()") + java.remove_method(f'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', "/** Returns the object with the settings used for calls to updateInstance. */") + java.remove_method(f'owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', "public UnaryCallSettings updateInstanceSettings()") + make_internal_only(admin_internal_only) + + # googleapis-gen copy of bigtable has some files that are not part of the existing library. + # owlbot copies them over. If you don't want to keep them, uncomment the deletions below. + if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataClient.java"): + os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataClient.java") + if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataSettings.java"): + os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataSettings.java") + if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataClientTest.java"): + os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataClientTest.java") + if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/MockBigtable.java"): + os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/MockBigtable.java") + if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/MockBigtableImpl.java"): + os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/MockBigtableImpl.java") + if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/package-info.java"): + os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/package-info.java") + if os.path.exists("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/package-info.java"): + os.remove("owl-bot-staging/v2/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/package-info.java") + + s.move(library) + +s.remove_staging_dirs() + +java.common_templates(excludes=[ + '.gitignore', + '.kokoro/presubmit/integration.cfg', + '.kokoro/nightly/integration.cfg', + '.kokoro/presubmit/samples.cfg', + '.kokoro/nightly/samples.cfg', + # todo remove once template is updated + '.github/ISSUE_TEMPLATE/bug_report.md', + 'CONTRIBUTING.md', + # exclude autogen + 'codecov.yaml' + # needed for extraFiles + '.github/release-please.yml', +]) diff --git a/pom.xml b/pom.xml index 4b64f1f7d2..167819a5d2 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 2.5.1 + 2.5.2 Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-shared-config - 1.2.4 + 1.2.6 @@ -149,11 +149,36 @@ + + com.google.api.grpc + proto-google-cloud-bigtable-v2 + 2.5.2 + + + com.google.api.grpc + proto-google-cloud-bigtable-admin-v2 + 2.5.2 + + + com.google.api.grpc + grpc-google-cloud-bigtable-v2 + 2.5.2 + + + com.google.api.grpc + grpc-google-cloud-bigtable-admin-v2 + 2.5.2 + + + com.google.cloud + google-cloud-bigtable + 2.5.2 + - com.google.cloud - google-cloud-conformance-tests - 0.2.5 + com.google.cloud + google-cloud-conformance-tests + 0.2.6 com.google.truth @@ -179,9 +204,9 @@ 4.13.2 - org.mockito - mockito-core - 4.2.0 + org.mockito + mockito-core + 4.3.1 @@ -287,7 +312,7 @@ com.microsoft.doclet.DocFxDoclet false - ${env.KOKORO_GFILE_DIR}/java-docfx-doclet-1.3.0.jar + ${env.KOKORO_GFILE_DIR}/java-docfx-doclet-1.5.0.jar -outputpath ${project.build.directory}/docfx-yml -projectname ${artifactId} @@ -325,13 +350,14 @@ - proto-google-cloud-bigtable-v2 - grpc-google-cloud-bigtable-v2 - proto-google-cloud-bigtable-admin-v2 - grpc-google-cloud-bigtable-admin-v2 - google-cloud-bigtable - google-cloud-bigtable-emulator - google-cloud-bigtable-bom - google-cloud-bigtable-deps-bom - - + google-cloud-bigtable + grpc-google-cloud-bigtable-admin-v2 + grpc-google-cloud-bigtable-v2 + proto-google-cloud-bigtable-admin-v2 + proto-google-cloud-bigtable-v2 + google-cloud-bigtable-emulator + google-cloud-bigtable-bom + google-cloud-bigtable-deps-bom + + + diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index 40e02f3134..5481ee232e 100644 --- a/proto-google-cloud-bigtable-admin-v2/pom.xml +++ b/proto-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.5.1 + 2.5.2 proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.5.1 + 2.5.2 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.5.1 + 2.5.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.5.1 + 2.5.2 pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index f8b6131521..79290c0067 100644 --- a/proto-google-cloud-bigtable-v2/pom.xml +++ b/proto-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.5.1 + 2.5.2 proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.5.1 + 2.5.2 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.5.1 + 2.5.2 pom import com.google.cloud google-cloud-bigtable-bom - 2.5.1 + 2.5.2 pom import diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 171d1388d6..69943b480d 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-bigtable - 2.5.0 + 2.5.1 @@ -53,7 +53,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.2.0 + 3.3.0 add-snippets-source diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 86dbacc8f4..2ef8241428 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 2.5.1 + 2.5.2 @@ -52,7 +52,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.2.0 + 3.3.0 add-snippets-source diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index c8e4d2582f..fd2e29a69a 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -30,7 +30,7 @@ com.google.cloud libraries-bom - 24.1.2 + 24.2.0 pom import diff --git a/samples/snippets/src/main/java/com/example/bigtable/ConfigureConnectionPool.java b/samples/snippets/src/main/java/com/example/bigtable/ConfigureConnectionPool.java index e1534a3b25..f0c49875c4 100644 --- a/samples/snippets/src/main/java/com/example/bigtable/ConfigureConnectionPool.java +++ b/samples/snippets/src/main/java/com/example/bigtable/ConfigureConnectionPool.java @@ -30,11 +30,11 @@ public static void configureConnectionPool(String projectId, String instanceId) // String projectId = "my-project-id"; // String instanceId = "my-instance-id"; - BigtableDataSettings.Builder settingsBuilder = BigtableDataSettings.newBuilder() - .setProjectId(projectId) - .setInstanceId(instanceId); + BigtableDataSettings.Builder settingsBuilder = + BigtableDataSettings.newBuilder().setProjectId(projectId).setInstanceId(instanceId); - settingsBuilder.stubSettings() + settingsBuilder + .stubSettings() .setTransportChannelProvider( EnhancedBigtableStubSettings.defaultGrpcTransportProviderBuilder() .setPoolSize(10) @@ -43,8 +43,8 @@ public static void configureConnectionPool(String projectId, String instanceId) BigtableDataSettings settings = settingsBuilder.build(); try (BigtableDataClient dataClient = BigtableDataClient.create(settings)) { InstantiatingGrpcChannelProvider provider = - (InstantiatingGrpcChannelProvider) settings.getStubSettings() - .getTransportChannelProvider(); + (InstantiatingGrpcChannelProvider) + settings.getStubSettings().getTransportChannelProvider(); int poolSize = provider.toBuilder().getPoolSize(); diff --git a/samples/snippets/src/main/java/com/example/bigtable/Filters.java b/samples/snippets/src/main/java/com/example/bigtable/Filters.java index cb6e6175d8..9b0829f887 100644 --- a/samples/snippets/src/main/java/com/example/bigtable/Filters.java +++ b/samples/snippets/src/main/java/com/example/bigtable/Filters.java @@ -30,7 +30,6 @@ import java.time.Instant; import java.time.temporal.ChronoUnit; - public class Filters { // Write your code here. diff --git a/samples/snippets/src/main/java/com/example/bigtable/InstanceAdminExample.java b/samples/snippets/src/main/java/com/example/bigtable/InstanceAdminExample.java index ac1b2ad648..0bdae948d2 100644 --- a/samples/snippets/src/main/java/com/example/bigtable/InstanceAdminExample.java +++ b/samples/snippets/src/main/java/com/example/bigtable/InstanceAdminExample.java @@ -12,7 +12,7 @@ * 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.example.bigtable; diff --git a/samples/snippets/src/main/java/com/example/bigtable/Quickstart.java b/samples/snippets/src/main/java/com/example/bigtable/Quickstart.java index c1c5ab66e7..8654d31edd 100644 --- a/samples/snippets/src/main/java/com/example/bigtable/Quickstart.java +++ b/samples/snippets/src/main/java/com/example/bigtable/Quickstart.java @@ -27,9 +27,9 @@ public class Quickstart { public static void main(String... args) { - String projectId = args[0]; // my-gcp-project-id + String projectId = args[0]; // my-gcp-project-id String instanceId = args[1]; // my-bigtable-instance-id - String tableId = args[2]; // my-bigtable-table-id + String tableId = args[2]; // my-bigtable-table-id quickstart(projectId, instanceId, tableId); } diff --git a/samples/snippets/src/main/java/com/example/bigtable/Reads.java b/samples/snippets/src/main/java/com/example/bigtable/Reads.java index 989da4f62f..d68997c649 100644 --- a/samples/snippets/src/main/java/com/example/bigtable/Reads.java +++ b/samples/snippets/src/main/java/com/example/bigtable/Reads.java @@ -26,8 +26,6 @@ import com.google.cloud.bigtable.data.v2.models.Query; import com.google.cloud.bigtable.data.v2.models.Row; import com.google.cloud.bigtable.data.v2.models.RowCell; -import com.google.cloud.bigtable.data.v2.models.RowMutation; -import com.google.protobuf.ByteString; import java.io.IOException; public class Reads { diff --git a/samples/snippets/src/main/java/com/example/bigtable/TableAdminExample.java b/samples/snippets/src/main/java/com/example/bigtable/TableAdminExample.java index c58bd21cf0..9842658a82 100644 --- a/samples/snippets/src/main/java/com/example/bigtable/TableAdminExample.java +++ b/samples/snippets/src/main/java/com/example/bigtable/TableAdminExample.java @@ -12,7 +12,7 @@ * 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.example.bigtable; diff --git a/samples/snippets/src/test/java/com/example/bigtable/BigtableBaseTest.java b/samples/snippets/src/test/java/com/example/bigtable/BigtableBaseTest.java index 73e0db17f9..8845c587ba 100644 --- a/samples/snippets/src/test/java/com/example/bigtable/BigtableBaseTest.java +++ b/samples/snippets/src/test/java/com/example/bigtable/BigtableBaseTest.java @@ -16,7 +16,6 @@ package com.example.bigtable; - import static org.junit.Assert.assertNotNull; import java.io.ByteArrayOutputStream; @@ -59,7 +58,7 @@ public void tearDown() { public static String generateTableId(String prefix) { return prefix + "-" + UUID.randomUUID().toString().substring(0, 20); } - + public static void initializeVariables() { projectId = requireEnv("GOOGLE_CLOUD_PROJECT"); instanceId = requireEnv("BIGTABLE_TESTING_INSTANCE"); diff --git a/samples/snippets/src/test/java/com/example/bigtable/ConfigureConnectionPoolTest.java b/samples/snippets/src/test/java/com/example/bigtable/ConfigureConnectionPoolTest.java index c1f3b03773..5af6121a92 100644 --- a/samples/snippets/src/test/java/com/example/bigtable/ConfigureConnectionPoolTest.java +++ b/samples/snippets/src/test/java/com/example/bigtable/ConfigureConnectionPoolTest.java @@ -16,13 +16,9 @@ package com.example.bigtable; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; import org.hamcrest.CoreMatchers; -import org.junit.Before; import org.junit.BeforeClass; import org.junit.FixMethodOrder; import org.junit.Test; diff --git a/samples/snippets/src/test/java/com/example/bigtable/InstanceAdminExampleTest.java b/samples/snippets/src/test/java/com/example/bigtable/InstanceAdminExampleTest.java index 2527d60101..dc66b2f9a2 100644 --- a/samples/snippets/src/test/java/com/example/bigtable/InstanceAdminExampleTest.java +++ b/samples/snippets/src/test/java/com/example/bigtable/InstanceAdminExampleTest.java @@ -12,7 +12,7 @@ * 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.example.bigtable; diff --git a/samples/snippets/src/test/java/com/example/bigtable/MobileTimeSeriesBaseTest.java b/samples/snippets/src/test/java/com/example/bigtable/MobileTimeSeriesBaseTest.java index 7a724fa0aa..c31ec11ce2 100644 --- a/samples/snippets/src/test/java/com/example/bigtable/MobileTimeSeriesBaseTest.java +++ b/samples/snippets/src/test/java/com/example/bigtable/MobileTimeSeriesBaseTest.java @@ -16,7 +16,6 @@ package com.example.bigtable; - import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClient; import com.google.cloud.bigtable.admin.v2.models.CreateTableRequest; import com.google.cloud.bigtable.data.v2.BigtableDataClient; @@ -37,7 +36,6 @@ public class MobileTimeSeriesBaseTest extends BigtableBaseTest { public static final long TIMESTAMP_MINUS_HR = CURRENT_TIME.minus(1, ChronoUnit.HOURS).toEpochMilli() * 1000; - public static void createTable() throws IOException { try (BigtableTableAdminClient adminClient = BigtableTableAdminClient.create(projectId, instanceId)) { @@ -52,7 +50,6 @@ public static void createTable() throws IOException { } } - public static void writeStatsData() throws IOException { try (BigtableDataClient dataClient = BigtableDataClient.create(projectId, instanceId)) { BulkMutation bulkMutation = @@ -84,8 +81,7 @@ public static void writeStatsData() throws IOException { ByteString.copyFrom("connected_wifi".getBytes()), TIMESTAMP, 1) - .setCell(COLUMN_FAMILY_NAME_STATS, "os_build", TIMESTAMP, "PQ2A.190405.004") - ) + .setCell(COLUMN_FAMILY_NAME_STATS, "os_build", TIMESTAMP, "PQ2A.190405.004")) .add( "phone#4c410523#20190505", Mutation.create() @@ -99,8 +95,7 @@ public static void writeStatsData() throws IOException { ByteString.copyFrom("connected_wifi".getBytes()), TIMESTAMP, 1) - .setCell(COLUMN_FAMILY_NAME_STATS, "os_build", TIMESTAMP, "PQ2A.190406.000") - ) + .setCell(COLUMN_FAMILY_NAME_STATS, "os_build", TIMESTAMP, "PQ2A.190406.000")) .add( "phone#5c10102#20190501", Mutation.create() @@ -114,8 +109,7 @@ public static void writeStatsData() throws IOException { ByteString.copyFrom("connected_wifi".getBytes()), TIMESTAMP, 1) - .setCell(COLUMN_FAMILY_NAME_STATS, "os_build", TIMESTAMP, "PQ2A.190401.002") - ) + .setCell(COLUMN_FAMILY_NAME_STATS, "os_build", TIMESTAMP, "PQ2A.190401.002")) .add( "phone#5c10102#20190502", Mutation.create() @@ -173,7 +167,6 @@ public static void writePlanData() throws IOException { } } - public static void cleanupTable() throws IOException { try (BigtableTableAdminClient adminClient = BigtableTableAdminClient.create(projectId, instanceId)) { @@ -183,5 +176,4 @@ public static void cleanupTable() throws IOException { throw (e); } } - } diff --git a/samples/snippets/src/test/java/com/example/bigtable/QuickstartTest.java b/samples/snippets/src/test/java/com/example/bigtable/QuickstartTest.java index a861d8851d..2471f26b16 100644 --- a/samples/snippets/src/test/java/com/example/bigtable/QuickstartTest.java +++ b/samples/snippets/src/test/java/com/example/bigtable/QuickstartTest.java @@ -16,16 +16,13 @@ package com.example.bigtable; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; import org.hamcrest.CoreMatchers; import org.junit.BeforeClass; import org.junit.Test; -/** - * Integration tests for {@link Quickstart} - */ +/** Integration tests for {@link Quickstart} */ public class QuickstartTest extends BigtableBaseTest { private static final String TABLE_ID = "quickstart-table"; diff --git a/samples/snippets/src/test/java/com/example/bigtable/ReadsTest.java b/samples/snippets/src/test/java/com/example/bigtable/ReadsTest.java index db40b7ecc9..dc3d56eed6 100644 --- a/samples/snippets/src/test/java/com/example/bigtable/ReadsTest.java +++ b/samples/snippets/src/test/java/com/example/bigtable/ReadsTest.java @@ -23,7 +23,7 @@ import org.junit.BeforeClass; import org.junit.Test; -public class ReadsTest extends MobileTimeSeriesBaseTest { +public class ReadsTest extends MobileTimeSeriesBaseTest { @BeforeClass public static void beforeClass() throws IOException { diff --git a/samples/snippets/src/test/java/com/example/bigtable/TableAdminExampleTest.java b/samples/snippets/src/test/java/com/example/bigtable/TableAdminExampleTest.java index d54abf210f..391764b549 100644 --- a/samples/snippets/src/test/java/com/example/bigtable/TableAdminExampleTest.java +++ b/samples/snippets/src/test/java/com/example/bigtable/TableAdminExampleTest.java @@ -18,7 +18,6 @@ import static com.google.cloud.bigtable.admin.v2.models.GCRules.GCRULES; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClient; @@ -41,9 +40,7 @@ import org.junit.BeforeClass; import org.junit.Test; -/** - * Integration tests for {@link TableAdminExample} - */ +/** Integration tests for {@link TableAdminExample} */ public class TableAdminExampleTest extends BigtableBaseTest { private static final String TABLE_PREFIX = "table"; diff --git a/synth.metadata b/synth.metadata index cc0bb65bcd..e9b708413f 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,22 +4,22 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigtable.git", - "sha": "77649195c3dd0e3e10a0e3adfe8cf0af3d3b0ebd" + "sha": "ff0266842ddbac752a39f650ae64c202f1f7fca1" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "0fd6a324383fdd1220c9a937b2eef37f53764664", - "internalRef": "410080804" + "sha": "10380880f030101709b3ebe1eb1dd121fa8b4116", + "internalRef": "420859180" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "723f3ce6c8927683e96cd7a4a02b59606a14eafc" + "sha": "6355638dfed614fe5977a06d59dc010370f88582" } } ], diff --git a/synth.py b/synth.py deleted file mode 100644 index 4e48e756b0..0000000000 --- a/synth.py +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 2018 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. - -"""This script is used to synthesize generated parts of this library.""" - -import re -import synthtool as s -import synthtool.gcp as gcp -import synthtool.languages.java as java - -AUTOSYNTH_MULTIPLE_COMMITS = True - -# TODO: try to move the GAPIC surface hiding to the gapic-generator: -# https://github.com/googleapis/gapic-generator/issues/2742 - -def main(): - gapic = gcp.GAPICBazel() - - generate_data_api(gapic) - generate_admin_api(gapic) - - java.format_code(f'./google-cloud-bigtable/src') - - java.common_templates(excludes=[ - '.gitignore', - '.kokoro/presubmit/integration.cfg', - '.kokoro/nightly/integration.cfg', - '.kokoro/presubmit/samples.cfg', - '.kokoro/nightly/samples.cfg', - # todo remove once template is updated - '.github/ISSUE_TEMPLATE/bug_report.md', - 'CONTRIBUTING.md', - # exclude autogen - 'codecov.yaml' - # needed for extraFiles - '.github/release-please.yml', - ]) - -def generate_data_api(gapic): - library = gapic.java_library( - service='bigtable', - version='v2', - proto_path=f'google/bigtable/v2', - bazel_target=f'//google/bigtable/v2:google-cloud-bigtable-v2-java', - ) - - library = library / 'google-cloud-bigtable-v2-java' - - # Excludes are relative to source `gapic-google-cloud-bigtable-v2/src` - excludes = [ - "build.gradle", - "pom.xml", - "README.md", - "src/main/java/com/google/cloud/bigtable/data/v2/package-info.java", - "src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataClient.java", - "src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataSettings.java", - "src/test/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataClientTest.java", - "src/test/java/com/google/cloud/bigtable/data/v2/MockBigtable.java", - "src/test/java/com/google/cloud/bigtable/data/v2/MockBigtableImpl.java", - ] - - # Paths are relative to the destination, which is the current working directory - internal_only = [ - "google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableStub.java", - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java', - "google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/GrpcBigtableStub.java", - "google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/GrpcBigtableCallableFactory.java", - ] - - package_name = f'com.google.bigtable.v2' - java.fix_proto_headers(library / f'proto-google-cloud-bigtable-v2-java') - java.fix_grpc_headers(library / f'grpc-google-cloud-bigtable-v2-java', package_name) - - s.copy(library / f'gapic-google-cloud-bigtable-v2-java', 'google-cloud-bigtable/', excludes=excludes) - s.copy(library / f'grpc-google-cloud-bigtable-v2-java/src', f'grpc-google-cloud-bigtable-v2/src') - s.copy(library / f'proto-google-cloud-bigtable-v2-java/src', f'proto-google-cloud-bigtable-v2/src') - - make_internal_only(internal_only) - - java.format_code(f'./grpc-google-cloud-bigtable-v2/src') - java.format_code(f'./proto-google-cloud-bigtable-v2/src') - -def generate_admin_api(gapic): - library = gapic.java_library( - service='bigtable-admin', - version='v2', - bazel_target=f'//google/bigtable/admin/v2:google-cloud-bigtable-admin-v2-java', - proto_path=f'google/bigtable/admin/v2', - ) - - library = library / 'google-cloud-bigtable-admin-v2-java' - - # Excludes are relative to source `gapic-google-cloud-bigtable-v2/src` - excludes = [ - "main/java/com/google/cloud/bigtable/admin/v2/package-info.java", - ] - - # Paths are relative to the destination, which is the current working directory - internal_only = [ - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableInstanceAdminCallableFactory.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableInstanceAdminStub.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableTableAdminCallableFactory.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/GrpcBigtableTableAdminStub.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminSettings.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableInstanceAdminStub.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableTableAdminStub.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java', - 'google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java', - ] - - package_name = f'com.google.cloud.bigtable.admin.v2' - java.fix_proto_headers(library / f'proto-google-cloud-bigtable-admin-v2-java') - java.fix_grpc_headers(library / f'grpc-google-cloud-bigtable-admin-v2-java', package_name) - - s.copy(library / f'gapic-google-cloud-bigtable-admin-v2-java/src', 'google-cloud-bigtable/src', excludes=excludes) - s.copy(library / f'grpc-google-cloud-bigtable-admin-v2-java/src', f'grpc-google-cloud-bigtable-admin-v2/src') - s.copy(library / f'proto-google-cloud-bigtable-admin-v2-java/src', f'proto-google-cloud-bigtable-admin-v2/src') - - #todo: fix in synthtool removing comments with method - java.remove_method(f'./grpc-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/BigtableInstanceAdminGrpc.java', "public UnaryCallSettings updateInstanceSettings()") - - java.remove_method(f'./google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', "/** Returns the builder for the settings used for calls to updateInstance. */") - java.remove_method(f'./google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', "public UnaryCallSettings.Builder updateInstanceSettings()") - - java.remove_method(f'./google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', "/** Returns the object with the settings used for calls to updateInstance. */") - java.remove_method(f'./google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminSettings.java', "public UnaryCallSettings updateInstanceSettings()") - - make_internal_only(internal_only) - - java.format_code(f'./grpc-google-cloud-bigtable-admin-v2/src') - java.format_code(f'./proto-google-cloud-bigtable-admin-v2/src') - -def make_internal_only(sources): - """Annotates all toplevel classes with `@InternalOnly`""" - # Insert InternalOnly import in the non-static. - s.replace(sources, - before=r'^(import (?!static).*?\n)\n', - after=r'\1import com.google.api.core.InternalApi;\n\n', - flags=re.MULTILINE | re.DOTALL) - - # Replace javadoc and annotations before every public class with InternalApi - # javadoc and annotation - s.replace(sources, - before=r'/\*\*.+?\*/\n(?:^@[^\n]*\n)*(?=public [a-zA-B ]*class)', - after='/** For internal use only. */\n@Generated("by gapic-generator")\n@InternalApi\n', - flags=re.MULTILINE | re.DOTALL) - -main() diff --git a/versions.txt b/versions.txt index aad4bf9eeb..d9a57dce23 100644 --- a/versions.txt +++ b/versions.txt @@ -1,9 +1,9 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:2.5.1:2.5.1 -grpc-google-cloud-bigtable-admin-v2:2.5.1:2.5.1 -grpc-google-cloud-bigtable-v2:2.5.1:2.5.1 -proto-google-cloud-bigtable-admin-v2:2.5.1:2.5.1 -proto-google-cloud-bigtable-v2:2.5.1:2.5.1 -google-cloud-bigtable-emulator:0.142.1:0.142.1 +google-cloud-bigtable:2.5.2:2.5.2 +grpc-google-cloud-bigtable-admin-v2:2.5.2:2.5.2 +grpc-google-cloud-bigtable-v2:2.5.2:2.5.2 +proto-google-cloud-bigtable-admin-v2:2.5.2:2.5.2 +proto-google-cloud-bigtable-v2:2.5.2:2.5.2 +google-cloud-bigtable-emulator:0.142.2:0.142.2