Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Implement DIREGAPIC LRO annotations #832

Merged

Conversation

GabrielGonzalezDiaz
Copy link
Contributor

@GabrielGonzalezDiaz GabrielGonzalezDiaz commented Aug 30, 2021

Generated methods that were previously hard coded now use the new annotations.
Annotations implemented:
-operation_polling_service
-operation_service
-operation_field
-operation_request_field
-operation_response_field

The parts which appends fields for opName are in alphabetical order based on the field name and read from annotations
The .get[FIELD] methods are also read from annotations.

.setOperationSnapshotFactory(
    (DeleteAddressRequest request, Operation response) -> {
      StringBuilder opName = new StringBuilder(response.getName());
      opName.append(":").append(request.getProject());
      opName.append(":").append(request.getRegion());
      return HttpJsonOperationSnapshot.newBuilder()
          .setName(opName.toString())
          .setMetadata(response)
          .setDone(response.getStatus().equals(Status.DONE))
          .setResponse(response)
          .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage())
          .build();

The .set[FIELD] methods are read from annotations. The order is as follows: First go the fields that have the operation_response_field annotation, and they are listed alphabetically based on the value of the annotation. The fields that do not have the annotation are listed alphabetically based on the name of the field itself.

.setPollingRequestFactory(
    compoundOperationId -> {
      List<String> idComponents = Arrays.asList(compoundOperationId.split(":"));
      return GetRegionOperationRequest.newBuilder()
          .setOperation(idComponents.get(0))
          .setProject(idComponents.get(1))
          .setRegion(idComponents.get(2))
          .build();
    })

Fixed logic to determine which methods require new LRO machinery using operation_polling_method and operation_service.

if (protoMethod.isOperationPollingMethod() || protoMethod.operationService() != null) {
  expr =
      methodMaker
          .apply(
              "setOperationSnapshotFactory",
              setOperationSnapshotFactoryExpr(protoMethod, messageTypes))
          .apply(expr);
}
if (protoMethod.isOperationPollingMethod()) {
  expr =
      methodMaker
          .apply(
              "setPollingRequestFactory",
              setPollingRequestFactoryExpr(protoMethod, messageTypes))
          .apply(expr);
}

Data model classes Message.java and Method.java were changed to hold the new data from the annotations

@google-cla google-cla bot added the cla: yes This human has signed the Contributor License Agreement. label Aug 30, 2021
@GabrielGonzalezDiaz GabrielGonzalezDiaz removed the request for review from miraleung August 30, 2021 19:52
@codecov
Copy link

codecov bot commented Aug 31, 2021

Codecov Report

❗ No coverage uploaded for pull request base (diregapic-lro@00d94ed). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@               Coverage Diff                @@
##             diregapic-lro     #832   +/-   ##
================================================
  Coverage                 ?   89.43%           
================================================
  Files                    ?      141           
  Lines                    ?    15518           
  Branches                 ?     1113           
================================================
  Hits                     ?    13878           
  Misses                   ?     1332           
  Partials                 ?      308           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 00d94ed...2bb8199. Read the comment docs.

@GabrielGonzalezDiaz GabrielGonzalezDiaz changed the title Chore: Implement annotations Feat: Implement annotations Aug 31, 2021
@GabrielGonzalezDiaz GabrielGonzalezDiaz changed the title Feat: Implement annotations Feat: Implement LRO annotations Aug 31, 2021
Copy link
Contributor

@vam-google vam-google left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good! A few initial comments. I will do a more thorough review later today.

@@ -121,11 +120,21 @@ protected MethodDefinition createOperationCallableMethod(TypeStore typeStore) {

List<Statement> createOperationCallableBody = new ArrayList<Statement>(2);

List<VariableExpr> arguments = method.arguments();
List<VariableExpr> arguments = new ArrayList<>(method.arguments());
// arguments.set(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove all comments like this (debugging artifacts)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still here...

@@ -380,9 +384,74 @@ protected Expr createTransportSettingsInitExpr(
return Collections.singletonList(expr);
}

// Generates expr.methodName();
private MethodInvocationExpr invokeMethodfromVar(Expr expr, String methodName) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

YOu probably don't need this method and use the MethodInvocationExpr construction code directly where you need it It will make it a bit more verbose, but oddly enough it will make it more idiomatic for gapic-generator-java. The same applies to the staticBuilder() method below

ImmutableSet<String> fieldNames = inputOperationMessage.fieldMap().keySet();
ArrayList<String> nonResponseAnnotationFields = new ArrayList<String>();
for (String fieldName : fieldNames) {
if (!responseFields.containsValue(fieldName)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not correct usage of maps. map.containsValue() will give you the linear time (do not confuse with containsKey(), which will give amortized O(1)).

This is not critical for this application, since there will never be many elements in the map, but basically if you need both keys and values to be indexed, you may consider using two-way index (direct and reverse, assuming that values are also unique).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image I created a collection used regular contains. I tried to find the runtime for this and couldn't find it, but I believe it is O(1)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Collection is just an interface it can have many implementations. Here you did the same thing but in a more convoluded synax: responseFieldName = map.values() - which is still a non-indexed "array" of values. In other words, the proposed solution is exactly the same as it was, but a more verbose.

In IntelliJ you can go to the SDK library classes implementations the same way as you go to your code implementation (ctrl + lef_mouse_click in most basic case). Reading the code is usually the best way to asses how it works and which time properties it has.

Basically only key operations are O(1) in maps.

Side note: Please consider posting code as text instead of posting as a picture (it makes it mucheasier to work with

There is a way to post it higlighted:

public static void main(String[] args) {}

import com.google.auto.value.AutoValue;
import javax.annotation.Nullable;

// In composer:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this, and all similar artifacts in comments.

@@ -663,6 +697,14 @@ private static boolean isMapType(Descriptor messageDescriptor) {
/* protoPakkage */ protoMethod.getFile().getPackage(),
serviceDescriptor.getName(),
protoMethod.getName());
boolean operationPollingMethod = false;
if (protoMethod.getOptions().hasExtension(ExtendedOperationsProto.operationPollingMethod))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please never use if statements without {}. If you have ever used them like that elswere, please add curly brackets there too.

@GabrielGonzalezDiaz GabrielGonzalezDiaz changed the title Feat: Implement LRO annotations Feat: Implement DIREGAPIC LRO annotations Sep 1, 2021
Copy link
Contributor

@vam-google vam-google left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the polling stubs (HttpJsonRegionOprationStub, i.e. the ones marked with
operation_polling_method = true these parts should be generated too:

this.longRunningClient =
        new HttpJsonLongRunningClient<GetRegionOperationRequest, Operation>(
            getCallable,
            getMethodDescriptor.getOperationSnapshotFactory(),
            getMethodDescriptor.getPollingRequestFactory());  
@Override
  public LongRunningClient longRunningClient() {
    return longRunningClient;
  }
private final LongRunningClient longRunningClient;

Apart from the stuff above and some other relatively minor comments, looks good!

repositories.bzl Outdated
@@ -76,6 +76,15 @@ def gapic_generator_java_repositories():
],
)

# local(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove

@@ -121,11 +120,21 @@ protected MethodDefinition createOperationCallableMethod(TypeStore typeStore) {

List<Statement> createOperationCallableBody = new ArrayList<Statement>(2);

List<VariableExpr> arguments = method.arguments();
List<VariableExpr> arguments = new ArrayList<>(method.arguments());
// arguments.set(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still here...

TypeNode statusType =
TypeNode.withReference(
VaporReference.builder()
.setName("Status")
.setPakkage("com.google.cloud.compute.v1")
.setPakkage("com.google.cloud.compute.v1.Operation")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All explicit mentions of "compute" must be gone. Why is this still needed?
Please check for all other mentions of compute in your codebase. There should be 0 mentions of compute in gapic-generator-java codebase.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So status is generated somewhere else in compute, and is used in this (genrated) class. I am not using compute to generate anything. This is a Vapor reference and that is just the package that will be imported in the generated class.

See: https://github.com/vam-google/google-cloud-compute-small-v1-lro/blob/7ff5244a579476088a222c50a7155e47e107a277/gapic-google-cloud-compute-small-v1-java/src/main/java/com/google/cloud/compute/v1/stub/HttpJsonAddressesStub.java#L46

ImmutableSet<String> fieldNames = inputOperationMessage.fieldMap().keySet();
ArrayList<String> nonResponseAnnotationFields = new ArrayList<String>();
for (String fieldName : fieldNames) {
if (!responseFields.containsValue(fieldName)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Collection is just an interface it can have many implementations. Here you did the same thing but in a more convoluded synax: responseFieldName = map.values() - which is still a non-indexed "array" of values. In other words, the proposed solution is exactly the same as it was, but a more verbose.

In IntelliJ you can go to the SDK library classes implementations the same way as you go to your code implementation (ctrl + lef_mouse_click in most basic case). Reading the code is usually the best way to asses how it works and which time properties it has.

Basically only key operations are O(1) in maps.

Side note: Please consider posting code as text instead of posting as a picture (it makes it mucheasier to work with

There is a way to post it higlighted:

public static void main(String[] args) {}

StringBuilder opName = new StringBuilder(response.getId());
opName.append(":").append(request.getProject());
opName.append(":").append(request.getRegion());
StringBuilder opName = new StringBuilder(response.getName());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I missed it during the previous review, can you generate the line 92 a bit differently. Instead of
response.getStatus().equals(Status.DONE)
do it in reverse instead?
Status.DONE.equals(response.getStatus())

This should give the same result but is safer, because the second variant will not produce null pointer exception if response.getStatus() is null (it is a general well known trick of doing comparisons in reverse)

@@ -663,6 +697,16 @@ private static boolean isMapType(Descriptor messageDescriptor) {
/* protoPakkage */ protoMethod.getFile().getPackage(),
serviceDescriptor.getName(),
protoMethod.getName());
boolean operationPollingMethod = false;
if (protoMethod.getOptions().hasExtension(ExtendedOperationsProto.operationPollingMethod)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consider using ternary operator (?) for stuff like this (this is basically its mos common usage pattern).

Copy link
Contributor

@vam-google vam-google left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, assuming you will add those few missing pieces which we discussed offline

@GabrielGonzalezDiaz GabrielGonzalezDiaz merged commit d7b29e0 into googleapis:diregapic-lro Sep 3, 2021
gcf-merge-on-green bot pushed a commit that referenced this pull request Oct 20, 2021
🤖 I have created a release \*beep\* \*boop\*
---
## [2.2.0](https://www.github.com/googleapis/gapic-generator-java/compare/v2.1.0...v2.2.0) (2021-10-09)


### Features

* Add REST AIP-151 LRO suport ([cb1b534](https://www.github.com/googleapis/gapic-generator-java/commit/cb1b534701b95781e5195e57eacf6d0abff252bf))
* enable self signed JWT for http ([#850](https://www.github.com/googleapis/gapic-generator-java/issues/850)) ([aba0ec0](https://www.github.com/googleapis/gapic-generator-java/commit/aba0ec00dc912400e1c0457d971d8f4120c5d03a))
* Implement DIREGAPIC LRO annotations ([#832](https://www.github.com/googleapis/gapic-generator-java/issues/832)) ([d7b29e0](https://www.github.com/googleapis/gapic-generator-java/commit/d7b29e05d7cfda1eb1a3b09d7ad7d625cab4bde1))
* REGAPIC initial implementation ([#824](https://www.github.com/googleapis/gapic-generator-java/issues/824)) ([fdcfe70](https://www.github.com/googleapis/gapic-generator-java/commit/fdcfe705b5fb42e11dfd511ccf7fdee40bcba131))
* REGAPIC Multitransport implementation (grpc+rest) ([#833](https://www.github.com/googleapis/gapic-generator-java/issues/833)) ([445daf4](https://www.github.com/googleapis/gapic-generator-java/commit/445daf472b337520f108b485abfdbe8b20b16b01))


### Bug Fixes

* [bazel] fix rest transport handling in assembly rule ([#835](https://www.github.com/googleapis/gapic-generator-java/issues/835)) ([92f7c1c](https://www.github.com/googleapis/gapic-generator-java/commit/92f7c1cf7b343947a64943fd7ee7ffb4d67a9d5a))
* DIREGAPIC LRO generated tests logic ([#838](https://www.github.com/googleapis/gapic-generator-java/issues/838)) ([8ae8e6f](https://www.github.com/googleapis/gapic-generator-java/commit/8ae8e6f111d0f3849986cd0445d6003601ced148))
* fix diregapic-lro logic ([#834](https://www.github.com/googleapis/gapic-generator-java/issues/834)) ([957f69a](https://www.github.com/googleapis/gapic-generator-java/commit/957f69a0dc063e77b5e49da28f0a6d9a4a6c3bdb))
---


This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
suztomo pushed a commit that referenced this pull request Mar 21, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [importlib-metadata](https://togithub.com/python/importlib_metadata) | `==4.8.3` -> `==4.12.0` | [![age](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.12.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.12.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.12.0/compatibility-slim/4.8.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.12.0/confidence-slim/4.8.3)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. ⚠ **Warning**: custom changes will be lost.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-shared-dependencies).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yMDguMiIsInVwZGF0ZWRJblZlciI6IjMyLjIwOC4yIn0=-->
suztomo pushed a commit that referenced this pull request Mar 21, 2023
🤖 I have created a release *beep* *boop*
---


## [3.0.4](https://togithub.com/googleapis/java-shared-dependencies/compare/v3.0.3...v3.0.4) (2022-10-03)


### Dependencies

* Update dependency cachetools to v5 ([#816](https://togithub.com/googleapis/java-shared-dependencies/issues/816)) ([bd2569c](https://togithub.com/googleapis/java-shared-dependencies/commit/bd2569c8c26e177a83cbcf8ed63fed1c3fce2c4b))
* Update dependency certifi to v2022.9.24 ([#818](https://togithub.com/googleapis/java-shared-dependencies/issues/818)) ([5406a0c](https://togithub.com/googleapis/java-shared-dependencies/commit/5406a0ca7e4e2b47f87a39c0fc696fbfd7a6a196))
* Update dependency charset-normalizer to v2.1.1 ([#822](https://togithub.com/googleapis/java-shared-dependencies/issues/822)) ([5c998e4](https://togithub.com/googleapis/java-shared-dependencies/commit/5c998e4d05d47882743cdb5a871a6af728b9d920))
* Update dependency click to v8.1.3 ([#823](https://togithub.com/googleapis/java-shared-dependencies/issues/823)) ([2ad211a](https://togithub.com/googleapis/java-shared-dependencies/commit/2ad211abb259b0fc225303f695a2f0399e19cd66))
* Update dependency com.google.protobuf:protobuf-bom to v3.21.7 ([#837](https://togithub.com/googleapis/java-shared-dependencies/issues/837)) ([d5472aa](https://togithub.com/googleapis/java-shared-dependencies/commit/d5472aa3a98c7a10737b6a9137dba8140087a31b))
* Update dependency gcp-releasetool to v1.8.8 ([#819](https://togithub.com/googleapis/java-shared-dependencies/issues/819)) ([bfef3b0](https://togithub.com/googleapis/java-shared-dependencies/commit/bfef3b0cf05bc200e707dfbf0330d672d824004c))
* Update dependency gcp-releasetool to v1.8.9 ([#846](https://togithub.com/googleapis/java-shared-dependencies/issues/846)) ([533c6a6](https://togithub.com/googleapis/java-shared-dependencies/commit/533c6a6382c2e933b2e87834b5b94913c1dc4943))
* Update dependency google-api-core to v2.10.1 ([#824](https://togithub.com/googleapis/java-shared-dependencies/issues/824)) ([1a5d233](https://togithub.com/googleapis/java-shared-dependencies/commit/1a5d233efa85f1dbd3aa272d2d305d24a35a7576))
* Update dependency google-auth to v2.12.0 ([#825](https://togithub.com/googleapis/java-shared-dependencies/issues/825)) ([cbca860](https://togithub.com/googleapis/java-shared-dependencies/commit/cbca860ae78c7ddf4541ed8b7c057710299162a8))
* Update dependency google-cloud-core to v2.3.2 ([#820](https://togithub.com/googleapis/java-shared-dependencies/issues/820)) ([65a1310](https://togithub.com/googleapis/java-shared-dependencies/commit/65a1310f50ce6914a67cb5e0e4d258f9f4466f11))
* Update dependency google-cloud-storage to v2.5.0 ([#826](https://togithub.com/googleapis/java-shared-dependencies/issues/826)) ([5fd7983](https://togithub.com/googleapis/java-shared-dependencies/commit/5fd7983489b971344e64010c7cfef0a2f60be667))
* Update dependency google-crc32c to v1.5.0 ([#827](https://togithub.com/googleapis/java-shared-dependencies/issues/827)) ([ee9e013](https://togithub.com/googleapis/java-shared-dependencies/commit/ee9e013106173cefbc10563d5d51dd906997c658))
* Update dependency google-resumable-media to v2.4.0 ([#838](https://togithub.com/googleapis/java-shared-dependencies/issues/838)) ([fb02810](https://togithub.com/googleapis/java-shared-dependencies/commit/fb02810c4a975fc75b26d680266ac48f85779a70))
* Update dependency googleapis-common-protos to v1.56.4 ([#821](https://togithub.com/googleapis/java-shared-dependencies/issues/821)) ([49d6423](https://togithub.com/googleapis/java-shared-dependencies/commit/49d64234d57d99c07689d0dd66697bb94d69e958))
* Update dependency importlib-metadata to v4.12.0 ([#832](https://togithub.com/googleapis/java-shared-dependencies/issues/832)) ([33ef522](https://togithub.com/googleapis/java-shared-dependencies/commit/33ef5228cb4fda9ef24e2b4396f970bc5ab67322))
* Update dependency importlib-metadata to v4.13.0 ([#843](https://togithub.com/googleapis/java-shared-dependencies/issues/843)) ([333b61b](https://togithub.com/googleapis/java-shared-dependencies/commit/333b61baf0f42d64699626bbc57315b3a826c3d3))
* Update dependency importlib-metadata to v5 ([#845](https://togithub.com/googleapis/java-shared-dependencies/issues/845)) ([7dc299d](https://togithub.com/googleapis/java-shared-dependencies/commit/7dc299da70133bb0fa9a363816ea804d540edc22))
* Update dependency io.grpc:grpc-bom to v1.49.1 ([#802](https://togithub.com/googleapis/java-shared-dependencies/issues/802)) ([a810f58](https://togithub.com/googleapis/java-shared-dependencies/commit/a810f587a5551e5f36a0b161bc350ebcb636acd5))
* Update dependency io.grpc:grpc-bom to v1.49.2 ([#842](https://togithub.com/googleapis/java-shared-dependencies/issues/842)) ([064a166](https://togithub.com/googleapis/java-shared-dependencies/commit/064a1666dd030c5f9fe35da7ebbda3dad2421427))
* Update dependency jeepney to v0.8.0 ([#833](https://togithub.com/googleapis/java-shared-dependencies/issues/833)) ([d1a5a67](https://togithub.com/googleapis/java-shared-dependencies/commit/d1a5a672089424d3ef9f85ae5d87b669484466e5))
* Update dependency jinja2 to v3.1.2 ([#834](https://togithub.com/googleapis/java-shared-dependencies/issues/834)) ([ad63e98](https://togithub.com/googleapis/java-shared-dependencies/commit/ad63e988d2407a62491a309160e1b87b4cc06d9a))
* Update dependency keyring to v23.9.3 ([#828](https://togithub.com/googleapis/java-shared-dependencies/issues/828)) ([8fed728](https://togithub.com/googleapis/java-shared-dependencies/commit/8fed728e6c84c8cade5bb24a827c558345149cff))
* Update dependency markupsafe to v2.1.1 ([#829](https://togithub.com/googleapis/java-shared-dependencies/issues/829)) ([6a93716](https://togithub.com/googleapis/java-shared-dependencies/commit/6a93716f6f161ced9a08840037bbfe7bfeee0814))
* Update dependency org.threeten:threetenbp to v1.6.2 ([#808](https://togithub.com/googleapis/java-shared-dependencies/issues/808)) ([f03792d](https://togithub.com/googleapis/java-shared-dependencies/commit/f03792d49370e0abbe6f90d37c513920759d6581))
* Update dependency protobuf to v3.20.2 ([#830](https://togithub.com/googleapis/java-shared-dependencies/issues/830)) ([544c20f](https://togithub.com/googleapis/java-shared-dependencies/commit/544c20f9b45fc42ba6b0071153c05034ea08ddc3))
* Update dependency protobuf to v3.20.3 ([#839](https://togithub.com/googleapis/java-shared-dependencies/issues/839)) ([69db6d7](https://togithub.com/googleapis/java-shared-dependencies/commit/69db6d7e56d4673a68e1f49a805635d054856326))
* Update dependency protobuf to v4 ([#817](https://togithub.com/googleapis/java-shared-dependencies/issues/817)) ([d2df74f](https://togithub.com/googleapis/java-shared-dependencies/commit/d2df74f6f456acbcccee7120b0ab164f73b8af93))
* Update dependency pyjwt to v2.5.0 ([#812](https://togithub.com/googleapis/java-shared-dependencies/issues/812)) ([8439533](https://togithub.com/googleapis/java-shared-dependencies/commit/843953365e464c72aa62df1a512a0ca6086a1c37))
* Update dependency requests to v2.28.1 ([#813](https://togithub.com/googleapis/java-shared-dependencies/issues/813)) ([de1d896](https://togithub.com/googleapis/java-shared-dependencies/commit/de1d896da6d7dcaedb520117d675290826d23505))
* Update dependency typing-extensions to v4.3.0 ([#814](https://togithub.com/googleapis/java-shared-dependencies/issues/814)) ([eb8b96b](https://togithub.com/googleapis/java-shared-dependencies/commit/eb8b96b916281aad8f330eb506a7d4be420c4263))
* Update dependency zipp to v3.8.1 ([#815](https://togithub.com/googleapis/java-shared-dependencies/issues/815)) ([74ee8f7](https://togithub.com/googleapis/java-shared-dependencies/commit/74ee8f75795091303236322e6c090a6a2b3f30e5))
* Update gax.version to v2.19.2 ([#847](https://togithub.com/googleapis/java-shared-dependencies/issues/847)) ([63228ac](https://togithub.com/googleapis/java-shared-dependencies/commit/63228ac05cfa27c6ecfee44eb91a8fabb94c5f59))
* Update google.common-protos.version to v2.9.3 ([#803](https://togithub.com/googleapis/java-shared-dependencies/issues/803)) ([cdf3fe6](https://togithub.com/googleapis/java-shared-dependencies/commit/cdf3fe6f7b7abbb9ef0c4a7cd1e4783dbbe0e238))
* Update google.common-protos.version to v2.9.5 ([#831](https://togithub.com/googleapis/java-shared-dependencies/issues/831)) ([62b5617](https://togithub.com/googleapis/java-shared-dependencies/commit/62b5617fa7960a1fdbad5743e44f14e2b6014b47))
* Update google.common-protos.version to v2.9.6 ([#844](https://togithub.com/googleapis/java-shared-dependencies/issues/844)) ([0cd42ae](https://togithub.com/googleapis/java-shared-dependencies/commit/0cd42aee75de5e3ddcde03165620aebae3ce2df0))
* Update google.core.version to v2.8.13 ([#804](https://togithub.com/googleapis/java-shared-dependencies/issues/804)) ([d1b585e](https://togithub.com/googleapis/java-shared-dependencies/commit/d1b585eb836fa55a97ca059426bce15cafcb2b5e))
* Update google.core.version to v2.8.14 ([#805](https://togithub.com/googleapis/java-shared-dependencies/issues/805)) ([3743485](https://togithub.com/googleapis/java-shared-dependencies/commit/37434855f0ec5bef09a8e8b0a062aa1df93da102))
* Update google.core.version to v2.8.15 ([#807](https://togithub.com/googleapis/java-shared-dependencies/issues/807)) ([614586e](https://togithub.com/googleapis/java-shared-dependencies/commit/614586ed92f203901c80ab5539f5c514bb5fe131))
* Update google.core.version to v2.8.16 ([#810](https://togithub.com/googleapis/java-shared-dependencies/issues/810)) ([6d04bef](https://togithub.com/googleapis/java-shared-dependencies/commit/6d04bef8689e87a7505ecb18e556b7d55a05d649))
* Update google.core.version to v2.8.17 ([#835](https://togithub.com/googleapis/java-shared-dependencies/issues/835)) ([5e84cc5](https://togithub.com/googleapis/java-shared-dependencies/commit/5e84cc533778443b798550fe9e3cb0888ad9b8ac))
* Update google.core.version to v2.8.18 ([#840](https://togithub.com/googleapis/java-shared-dependencies/issues/840)) ([203e8b4](https://togithub.com/googleapis/java-shared-dependencies/commit/203e8b4681186f863bc8d2f7e79c3c0102e592b4))
* Update google.core.version to v2.8.19 ([#841](https://togithub.com/googleapis/java-shared-dependencies/issues/841)) ([35bf0dc](https://togithub.com/googleapis/java-shared-dependencies/commit/35bf0dcb1b8e6143fb7750dc3e8eeeb6bfac9a3b))
* Update google.core.version to v2.8.20 ([#848](https://togithub.com/googleapis/java-shared-dependencies/issues/848)) ([047dc3f](https://togithub.com/googleapis/java-shared-dependencies/commit/047dc3f6f1b1a0c27079c8bc07046793c96f8dfc))
* Update iam.version to v1.6.1 ([#806](https://togithub.com/googleapis/java-shared-dependencies/issues/806)) ([b2fc57a](https://togithub.com/googleapis/java-shared-dependencies/commit/b2fc57a99d63554f456f185c136954c688300ab7))
* Update iam.version to v1.6.2 ([#849](https://togithub.com/googleapis/java-shared-dependencies/issues/849)) ([1251c42](https://togithub.com/googleapis/java-shared-dependencies/commit/1251c42fd0e9f31991236a1bfd2ff7010ab22e70))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
suztomo pushed a commit that referenced this pull request Mar 21, 2023
The module itself has been removed in #820.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants