diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index f60d7749..a79f0627 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest - digest: sha256:fc52b202aa298a50a12c64efd04fea3884d867947effe2fa85382a246c09e813 -# created: 2022-04-06T16:30:03.627422514Z + digest: sha256:2567a120ce90fadb6201999b87d649d9f67459de28815ad239bce9ebfaa18a74 +# created: 2022-05-19T15:12:45.278246753Z diff --git a/.kokoro/build.sh b/.kokoro/build.sh index e3231ae2..27d245d1 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -74,6 +74,11 @@ graalvm) mvn -B ${INTEGRATION_TEST_ARGS} -ntp -Pnative -Penable-integration-tests test RETURN_CODE=$? ;; +graalvm17) + # Run Unit and Integration Tests with Native Image + mvn -B ${INTEGRATION_TEST_ARGS} -ntp -Pnative -Penable-integration-tests test + RETURN_CODE=$? + ;; samples) SAMPLES_DIR=samples # only run ITs in snapshot/ on presubmit PRs. run ITs in all 3 samples/ subdirectories otherwise. diff --git a/.kokoro/presubmit/graalvm-native-17.cfg b/.kokoro/presubmit/graalvm-native-17.cfg new file mode 100644 index 00000000..a3f7fb9d --- /dev/null +++ b/.kokoro/presubmit/graalvm-native-17.cfg @@ -0,0 +1,33 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/graalvm17" +} + +env_vars: { + key: "JOB_TYPE" + value: "graalvm17" +} + +# TODO: remove this after we've migrated all tests and scripts +env_vars: { + key: "GCLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_CLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_APPLICATION_CREDENTIALS" + value: "secret_manager/java-it-service-account" +} + +env_vars: { + key: "SECRET_MANAGER_KEYS" + value: "java-it-service-account" +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c20ff92..6bcef994 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [2.2.0](https://github.com/googleapis/java-shell/compare/v2.1.12...v2.2.0) (2022-05-24) + + +### Features + +* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-shell/issues/1440)) ([#208](https://github.com/googleapis/java-shell/issues/208)) ([9c2a201](https://github.com/googleapis/java-shell/commit/9c2a201ce9f60cc1afbad473c8af9cf92d93bd55)) + + +### Dependencies + +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#207](https://github.com/googleapis/java-shell/issues/207)) ([f88dd65](https://github.com/googleapis/java-shell/commit/f88dd65088abd3d50a524630ffcc2a6f00d6f9eb)) + ### [2.1.12](https://github.com/googleapis/java-shell/compare/v2.1.11...v2.1.12) (2022-04-15) diff --git a/README.md b/README.md index f39e5c82..f90ec73e 100644 --- a/README.md +++ b/README.md @@ -19,20 +19,20 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-shell - 2.1.11 + 2.1.12 ``` If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.cloud:google-cloud-shell:2.1.11' +implementation 'com.google.cloud:google-cloud-shell:2.1.12' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-shell" % "2.1.11" +libraryDependencies += "com.google.cloud" % "google-cloud-shell" % "2.1.12" ``` ## Authentication diff --git a/google-cloud-shell-bom/pom.xml b/google-cloud-shell-bom/pom.xml index aca76e6b..4ecf1ead 100644 --- a/google-cloud-shell-bom/pom.xml +++ b/google-cloud-shell-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-shell-bom - 2.1.12 + 2.2.0 pom com.google.cloud google-cloud-shared-config - 1.3.2 + 1.4.0 Google Cloud Shell BOM @@ -56,17 +56,17 @@ com.google.cloud google-cloud-shell - 2.1.12 + 2.2.0 com.google.api.grpc grpc-google-cloud-shell-v1 - 2.1.12 + 2.2.0 com.google.api.grpc proto-google-cloud-shell-v1 - 2.1.12 + 2.2.0 diff --git a/google-cloud-shell/pom.xml b/google-cloud-shell/pom.xml index 3137c695..241523eb 100644 --- a/google-cloud-shell/pom.xml +++ b/google-cloud-shell/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-shell - 2.1.12 + 2.2.0 jar Google Cloud Shell https://github.com/googleapis/java-shell @@ -11,7 +11,7 @@ com.google.cloud google-cloud-shell-parent - 2.1.12 + 2.2.0 google-cloud-shell diff --git a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/CloudShellServiceClient.java b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/CloudShellServiceClient.java index 41c84655..bb2e7f22 100644 --- a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/CloudShellServiceClient.java +++ b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/CloudShellServiceClient.java @@ -1,5 +1,5 @@ /* - * Copyright 2021 Google LLC + * 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. @@ -41,6 +41,8 @@ * calls that map to API methods. Sample code to get started: * *
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
  *   EnvironmentName name = EnvironmentName.of("[USER]", "[ENVIRONMENT]");
  *   Environment response = cloudShellServiceClient.getEnvironment(name);
@@ -77,6 +79,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudShellServiceSettings cloudShellServiceSettings =
  *     CloudShellServiceSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -88,6 +92,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudShellServiceSettings cloudShellServiceSettings =
  *     CloudShellServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
  * CloudShellServiceClient cloudShellServiceClient =
@@ -167,6 +173,8 @@ public final OperationsClient getOperationsClient() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   EnvironmentName name = EnvironmentName.of("[USER]", "[ENVIRONMENT]");
    *   Environment response = cloudShellServiceClient.getEnvironment(name);
@@ -191,6 +199,8 @@ public final Environment getEnvironment(EnvironmentName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   String name = EnvironmentName.of("[USER]", "[ENVIRONMENT]").toString();
    *   Environment response = cloudShellServiceClient.getEnvironment(name);
@@ -214,6 +224,8 @@ public final Environment getEnvironment(String name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   GetEnvironmentRequest request =
    *       GetEnvironmentRequest.newBuilder()
@@ -237,6 +249,8 @@ public final Environment getEnvironment(GetEnvironmentRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   GetEnvironmentRequest request =
    *       GetEnvironmentRequest.newBuilder()
@@ -264,6 +278,8 @@ public final UnaryCallable getEnvironmentCal
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   StartEnvironmentRequest request =
    *       StartEnvironmentRequest.newBuilder()
@@ -295,6 +311,8 @@ public final UnaryCallable getEnvironmentCal
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   StartEnvironmentRequest request =
    *       StartEnvironmentRequest.newBuilder()
@@ -326,6 +344,8 @@ public final UnaryCallable getEnvironmentCal
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   StartEnvironmentRequest request =
    *       StartEnvironmentRequest.newBuilder()
@@ -353,6 +373,8 @@ public final UnaryCallable startEnvironmentC
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   AuthorizeEnvironmentRequest request =
    *       AuthorizeEnvironmentRequest.newBuilder()
@@ -383,6 +405,8 @@ public final UnaryCallable startEnvironmentC
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   AuthorizeEnvironmentRequest request =
    *       AuthorizeEnvironmentRequest.newBuilder()
@@ -413,6 +437,8 @@ public final UnaryCallable startEnvironmentC
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   AuthorizeEnvironmentRequest request =
    *       AuthorizeEnvironmentRequest.newBuilder()
@@ -442,6 +468,8 @@ public final UnaryCallable startEnvironmentC
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   AddPublicKeyRequest request =
    *       AddPublicKeyRequest.newBuilder()
@@ -469,6 +497,8 @@ public final OperationFuture addPubl
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   AddPublicKeyRequest request =
    *       AddPublicKeyRequest.newBuilder()
@@ -496,6 +526,8 @@ public final OperationFuture addPubl
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   AddPublicKeyRequest request =
    *       AddPublicKeyRequest.newBuilder()
@@ -522,6 +554,8 @@ public final UnaryCallable addPublicKeyCallable(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   RemovePublicKeyRequest request =
    *       RemovePublicKeyRequest.newBuilder()
@@ -550,6 +584,8 @@ public final UnaryCallable addPublicKeyCallable(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   RemovePublicKeyRequest request =
    *       RemovePublicKeyRequest.newBuilder()
@@ -578,6 +614,8 @@ public final UnaryCallable addPublicKeyCallable(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
    *   RemovePublicKeyRequest request =
    *       RemovePublicKeyRequest.newBuilder()
diff --git a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/CloudShellServiceSettings.java b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/CloudShellServiceSettings.java
index 1c890c87..3d40c4f6 100644
--- a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/CloudShellServiceSettings.java
+++ b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/CloudShellServiceSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
@@ -51,6 +51,8 @@
  * 

For example, to set the total timeout of getEnvironment to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudShellServiceSettings.Builder cloudShellServiceSettingsBuilder =
  *     CloudShellServiceSettings.newBuilder();
  * cloudShellServiceSettingsBuilder
diff --git a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/package-info.java b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/package-info.java
index b38ae2bc..350bdd67 100644
--- a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/package-info.java
+++ b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
@@ -28,6 +28,8 @@
  * 

Sample for CloudShellServiceClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
  *   EnvironmentName name = EnvironmentName.of("[USER]", "[ENVIRONMENT]");
  *   Environment response = cloudShellServiceClient.getEnvironment(name);
diff --git a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/CloudShellServiceStub.java b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/CloudShellServiceStub.java
index faceab46..af720c3a 100644
--- a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/CloudShellServiceStub.java
+++ b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/CloudShellServiceStub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
diff --git a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/CloudShellServiceStubSettings.java b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/CloudShellServiceStubSettings.java
index 1168e796..f2240094 100644
--- a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/CloudShellServiceStubSettings.java
+++ b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/CloudShellServiceStubSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
@@ -77,6 +77,8 @@
  * 

For example, to set the total timeout of getEnvironment to 30 seconds: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudShellServiceStubSettings.Builder cloudShellServiceSettingsBuilder =
  *     CloudShellServiceStubSettings.newBuilder();
  * cloudShellServiceSettingsBuilder
diff --git a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/GrpcCloudShellServiceCallableFactory.java b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/GrpcCloudShellServiceCallableFactory.java
index 9f6b8bc3..d35df5e6 100644
--- a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/GrpcCloudShellServiceCallableFactory.java
+++ b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/GrpcCloudShellServiceCallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
diff --git a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/GrpcCloudShellServiceStub.java b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/GrpcCloudShellServiceStub.java
index d172cdbb..12b59d4c 100644
--- a/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/GrpcCloudShellServiceStub.java
+++ b/google-cloud-shell/src/main/java/com/google/cloud/shell/v1/stub/GrpcCloudShellServiceStub.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
diff --git a/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/CloudShellServiceClientTest.java b/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/CloudShellServiceClientTest.java
index 1fcb9d29..a03f2cf7 100644
--- a/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/CloudShellServiceClientTest.java
+++ b/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/CloudShellServiceClientTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
diff --git a/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/MockCloudShellService.java b/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/MockCloudShellService.java
index ecb3536c..2f4bcb8a 100644
--- a/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/MockCloudShellService.java
+++ b/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/MockCloudShellService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
diff --git a/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/MockCloudShellServiceImpl.java b/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/MockCloudShellServiceImpl.java
index dbd4a049..41137793 100644
--- a/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/MockCloudShellServiceImpl.java
+++ b/google-cloud-shell/src/test/java/com/google/cloud/shell/v1/MockCloudShellServiceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
diff --git a/grpc-google-cloud-shell-v1/pom.xml b/grpc-google-cloud-shell-v1/pom.xml
index 1eeffc4c..a048b0b8 100644
--- a/grpc-google-cloud-shell-v1/pom.xml
+++ b/grpc-google-cloud-shell-v1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   grpc-google-cloud-shell-v1
-  2.1.12
+  2.2.0
   grpc-google-cloud-shell-v1
   GRPC library for google-cloud-shell
   
     com.google.cloud
     google-cloud-shell-parent
-    2.1.12
+    2.2.0
   
   
     
diff --git a/pom.xml b/pom.xml
index c536295f..3e9421d6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   com.google.cloud
   google-cloud-shell-parent
   pom
-  2.1.12
+  2.2.0
   Google Cloud Shell Parent
   https://github.com/googleapis/java-shell
   
@@ -14,7 +14,7 @@
   
     com.google.cloud
     google-cloud-shared-config
-    1.3.2
+    1.4.0
   
 
   
@@ -60,23 +60,23 @@
       
         com.google.cloud
         google-cloud-shell
-        2.1.12
+        2.2.0
       
       
         com.google.api.grpc
         grpc-google-cloud-shell-v1
-        2.1.12
+        2.2.0
       
       
         com.google.api.grpc
         proto-google-cloud-shell-v1
-        2.1.12
+        2.2.0
       
 
       
         com.google.cloud
         google-cloud-shared-dependencies
-        2.10.0
+        2.12.0
         pom
         import
       
@@ -112,7 +112,7 @@
       
         org.apache.maven.plugins
         maven-project-info-reports-plugin
-        3.2.2
+        3.3.0
         
           
             
@@ -139,7 +139,7 @@
       
         org.apache.maven.plugins
         maven-javadoc-plugin
-        3.3.2
+        3.4.0
         
           
             html
diff --git a/proto-google-cloud-shell-v1/pom.xml b/proto-google-cloud-shell-v1/pom.xml
index 8132cdb7..11f95e74 100644
--- a/proto-google-cloud-shell-v1/pom.xml
+++ b/proto-google-cloud-shell-v1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   proto-google-cloud-shell-v1
-  2.1.12
+  2.2.0
   proto-google-cloud-shell-v1
   Proto library for google-cloud-shell
   
     com.google.cloud
     google-cloud-shell-parent
-    2.1.12
+    2.2.0
   
   
     
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyMetadata.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyMetadata.java
index 5e00e64f..7c1b0112 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyMetadata.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyMetadata.java
@@ -80,6 +80,8 @@ private AddPublicKeyMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyRequest.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyRequest.java
index 8ea09662..bb681f05 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyRequest.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyRequest.java
@@ -97,6 +97,8 @@ private AddPublicKeyRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyResponse.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyResponse.java
index 7d6ff663..2a7ade39 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyResponse.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AddPublicKeyResponse.java
@@ -89,6 +89,8 @@ private AddPublicKeyResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentMetadata.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentMetadata.java
index 4802914a..3635f516 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentMetadata.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentMetadata.java
@@ -80,6 +80,8 @@ private AuthorizeEnvironmentMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentRequest.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentRequest.java
index e2b83402..3144d086 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentRequest.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentRequest.java
@@ -120,6 +120,8 @@ private AuthorizeEnvironmentRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentResponse.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentResponse.java
index 718a547c..ee950279 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentResponse.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/AuthorizeEnvironmentResponse.java
@@ -80,6 +80,8 @@ private AuthorizeEnvironmentResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/CloudShellErrorDetails.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/CloudShellErrorDetails.java
index f3644197..bb43b23b 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/CloudShellErrorDetails.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/CloudShellErrorDetails.java
@@ -89,6 +89,8 @@ private CloudShellErrorDetails(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/CreateEnvironmentMetadata.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/CreateEnvironmentMetadata.java
index b52ff195..fd894136 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/CreateEnvironmentMetadata.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/CreateEnvironmentMetadata.java
@@ -80,6 +80,8 @@ private CreateEnvironmentMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/DeleteEnvironmentMetadata.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/DeleteEnvironmentMetadata.java
index 0c84caef..d3449695 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/DeleteEnvironmentMetadata.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/DeleteEnvironmentMetadata.java
@@ -80,6 +80,8 @@ private DeleteEnvironmentMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/Environment.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/Environment.java
index 9a61638e..9fce14b2 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/Environment.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/Environment.java
@@ -156,6 +156,8 @@ private Environment(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/EnvironmentName.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/EnvironmentName.java
index 3527419b..2f43a03a 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/EnvironmentName.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/EnvironmentName.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2021 Google LLC
+ * 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.
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/GetEnvironmentRequest.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/GetEnvironmentRequest.java
index 62cf6c8d..6c10a26f 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/GetEnvironmentRequest.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/GetEnvironmentRequest.java
@@ -89,6 +89,8 @@ private GetEnvironmentRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyMetadata.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyMetadata.java
index ce223282..77c39721 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyMetadata.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyMetadata.java
@@ -80,6 +80,8 @@ private RemovePublicKeyMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyRequest.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyRequest.java
index 1658da8e..0497d854 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyRequest.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyRequest.java
@@ -97,6 +97,8 @@ private RemovePublicKeyRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyResponse.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyResponse.java
index 847e24a6..f88f1f10 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyResponse.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/RemovePublicKeyResponse.java
@@ -80,6 +80,8 @@ private RemovePublicKeyResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentMetadata.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentMetadata.java
index 5ce88ab7..cea8ca6b 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentMetadata.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentMetadata.java
@@ -89,6 +89,8 @@ private StartEnvironmentMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentRequest.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentRequest.java
index fcc19738..f0e4accd 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentRequest.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentRequest.java
@@ -109,6 +109,8 @@ private StartEnvironmentRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentResponse.java b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentResponse.java
index 9e45a998..ac449b99 100644
--- a/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentResponse.java
+++ b/proto-google-cloud-shell-v1/src/main/java/com/google/cloud/shell/v1/StartEnvironmentResponse.java
@@ -97,6 +97,8 @@ private StartEnvironmentResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 2b2aae30..f2afe0a8 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -29,7 +29,7 @@
     
       com.google.cloud
       google-cloud-shell
-      2.1.11
+      2.1.12
     
     
 
diff --git a/samples/pom.xml b/samples/pom.xml
index 4545c5a7..24f415eb 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -46,7 +46,7 @@
       
         org.sonatype.plugins
         nexus-staging-maven-plugin
-        1.6.12
+        1.6.13
         
           true
         
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index cc381619..4f87ae49 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,7 +28,7 @@
     
       com.google.cloud
       google-cloud-shell
-      2.1.11
+      2.1.12
     
   
 
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index b04bd852..d2bef56d 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -28,7 +28,7 @@
     
       com.google.cloud
       google-cloud-shell
-      2.1.11
+      2.1.12
     
 
     
diff --git a/versions.txt b/versions.txt
index a6814cc5..984a1bfc 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
 # Format:
 # module:released-version:current-version
 
-google-cloud-shell:2.1.12:2.1.12
-grpc-google-cloud-shell-v1:2.1.12:2.1.12
-proto-google-cloud-shell-v1:2.1.12:2.1.12
+google-cloud-shell:2.2.0:2.2.0
+grpc-google-cloud-shell-v1:2.2.0:2.2.0
+proto-google-cloud-shell-v1:2.2.0:2.2.0