Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

Commit 00d94ed

Browse files
vam-googlearithmetic1728release-please[bot]
authored
Diregapic lro (#828)
* feat: enable self signed jwt for gapic clients (#794) * feat: enable self signed jwt for gapic clients * resolve comments * update gax version * update goldens * update golden files * chore: release 2.1.0 (#827) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> * ingegrate with latest googleapis and googleapis-discovery * ingegrate with latest googleapis and googleapis-discovery Co-authored-by: arithmetic1728 <58957152+arithmetic1728@users.noreply.github.com> Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
1 parent 35cc21c commit 00d94ed

39 files changed

Lines changed: 418 additions & 81 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## [2.1.0](https://www.github.com/googleapis/gapic-generator-java/compare/v2.0.1...v2.1.0) (2021-08-17)
4+
5+
6+
### Features
7+
8+
* enable self signed jwt for gapic clients ([#794](https://www.github.com/googleapis/gapic-generator-java/issues/794)) ([1b7ee1e](https://www.github.com/googleapis/gapic-generator-java/commit/1b7ee1e3911e1c8ecab9a94d68d7a59b437d2449))
9+
310
### [2.0.1](https://www.github.com/googleapis/gapic-generator-java/compare/v2.0.0...v2.0.1) (2021-08-06)
411

512

WORKSPACE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jvm_maven_import_external(
3232
# gapic-generator-java dependencies to match the order in googleapis repository,
3333
# which in its turn, prioritizes actual generated clients runtime dependencies
3434
# over the generator dependencies.
35-
_gax_java_version = "2.2.0"
35+
_gax_java_version = "2.3.0"
3636

3737
http_archive(
3838
name = "com_google_api_gax_java",

repositories.bzl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,20 @@ def gapic_generator_java_repositories():
5959
_maybe(
6060
http_archive,
6161
name = "com_google_googleapis",
62-
strip_prefix = "googleapis-efecdbf96311bb705d619459280ffc651b10844a",
62+
strip_prefix = "googleapis-ba30d8097582039ac4cc4e21b4e4baa426423075",
6363
urls = [
64-
"https://github.com/googleapis/googleapis/archive/efecdbf96311bb705d619459280ffc651b10844a.zip",
64+
"https://github.com/googleapis/googleapis/archive/ba30d8097582039ac4cc4e21b4e4baa426423075.zip",
6565
],
6666
)
6767

68+
# TODO: replace with upstream googleapis-discovery link once
69+
# https://github.com/googleapis/googleapis-discovery/pull/59 is merged
6870
_maybe(
6971
http_archive,
7072
name = "com_google_googleapis_discovery",
71-
strip_prefix = "googleapis-discovery-abf4cec1ce9e02e4d7d650bf66137c347cdd0d44",
73+
strip_prefix = "googleapis-discovery-2872d382ff767518e63d59ececf5d6f9224b21b4",
7274
urls = [
73-
"https://github.com/googleapis/googleapis-discovery/archive/abf4cec1ce9e02e4d7d650bf66137c347cdd0d44.zip",
75+
"https://github.com/vam-google/googleapis-discovery/archive/2872d382ff767518e63d59ececf5d6f9224b21b4.zip",
7476
],
7577
)
7678

src/main/java/com/google/api/generator/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ java_library(
3939
"//src/main/java/com/google/api/generator/gapic/model",
4040
"//src/main/java/com/google/api/generator/util",
4141
"@com_google_googleapis//google/api:api_java_proto",
42+
"@com_google_googleapis//google/cloud:extended_operations_java_proto",
4243
"@com_google_googleapis//google/longrunning:longrunning_java_proto",
4344
"@com_google_guava_guava//jar",
4445
"@com_google_protobuf//:protobuf_java",

src/main/java/com/google/api/generator/ProtoRegistry.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.google.api.ClientProto;
1919
import com.google.api.FieldBehaviorProto;
2020
import com.google.api.ResourceProto;
21+
import com.google.cloud.ExtendedOperationsProto;
2122
import com.google.longrunning.OperationsProto;
2223
import com.google.protobuf.ExtensionRegistry;
2324

@@ -29,5 +30,6 @@ public static void registerAllExtensions(ExtensionRegistry extensionRegistry) {
2930
ClientProto.registerAllExtensions(extensionRegistry);
3031
ResourceProto.registerAllExtensions(extensionRegistry);
3132
FieldBehaviorProto.registerAllExtensions(extensionRegistry);
33+
ExtendedOperationsProto.registerAllExtensions(extensionRegistry);
3234
}
3335
}

src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceStubSettingsClassComposer.java

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,6 @@ public abstract class AbstractServiceStubSettingsClassComposer implements ClassC
139139

140140
protected static final TypeStore FIXED_TYPESTORE = createStaticTypes();
141141

142-
private static final VariableExpr DEFAULT_SERVICE_SCOPES_VAR_EXPR =
143-
createDefaultServiceScopesVarExpr();
144142
private static final VariableExpr NESTED_UNARY_METHOD_SETTINGS_BUILDERS_VAR_EXPR =
145143
createNestedUnaryMethodSettingsBuildersVarExpr();
146144
private static final VariableExpr NESTED_RETRYABLE_CODE_DEFINITIONS_VAR_EXPR =
@@ -150,6 +148,9 @@ public abstract class AbstractServiceStubSettingsClassComposer implements ClassC
150148

151149
private final TransportContext transportContext;
152150

151+
protected static final VariableExpr DEFAULT_SERVICE_SCOPES_VAR_EXPR =
152+
createDefaultServiceScopesVarExpr();
153+
153154
protected AbstractServiceStubSettingsClassComposer(TransportContext transportContext) {
154155
this.transportContext = transportContext;
155156
}
@@ -197,6 +198,33 @@ public GapicClass generate(GapicContext context, Service service) {
197198
return GapicClass.create(GapicClass.Kind.STUB, classDef);
198199
}
199200

201+
protected MethodDefinition createDefaultCredentialsProviderBuilderMethod() {
202+
TypeNode returnType =
203+
TypeNode.withReference(
204+
ConcreteReference.withClazz(GoogleCredentialsProvider.Builder.class));
205+
MethodInvocationExpr credsProviderBuilderExpr =
206+
MethodInvocationExpr.builder()
207+
.setStaticReferenceType(FIXED_TYPESTORE.get("GoogleCredentialsProvider"))
208+
.setMethodName("newBuilder")
209+
.build();
210+
credsProviderBuilderExpr =
211+
MethodInvocationExpr.builder()
212+
.setExprReferenceExpr(credsProviderBuilderExpr)
213+
.setMethodName("setScopesToApply")
214+
.setArguments(DEFAULT_SERVICE_SCOPES_VAR_EXPR)
215+
.setReturnType(returnType)
216+
.build();
217+
return MethodDefinition.builder()
218+
.setHeaderCommentStatements(
219+
SettingsCommentComposer.DEFAULT_CREDENTIALS_PROVIDER_BUILDER_METHOD_COMMENT)
220+
.setScope(ScopeNode.PUBLIC)
221+
.setIsStatic(true)
222+
.setReturnType(returnType)
223+
.setName("defaultCredentialsProviderBuilder")
224+
.setReturnExpr(credsProviderBuilderExpr)
225+
.build();
226+
}
227+
200228
protected abstract MethodDefinition createDefaultTransportTransportProviderBuilderMethod();
201229

202230
protected abstract MethodDefinition createDefaultApiClientHeaderProviderBuilderMethod(
@@ -992,33 +1020,7 @@ private List<MethodDefinition> createDefaultHelperAndGetterMethods(
9921020
.setReturnExpr(DEFAULT_SERVICE_SCOPES_VAR_EXPR)
9931021
.build());
9941022

995-
// Create the defaultCredentialsProviderBuilder method.
996-
returnType =
997-
TypeNode.withReference(
998-
ConcreteReference.withClazz(GoogleCredentialsProvider.Builder.class));
999-
MethodInvocationExpr credsProviderBuilderExpr =
1000-
MethodInvocationExpr.builder()
1001-
.setStaticReferenceType(FIXED_TYPESTORE.get("GoogleCredentialsProvider"))
1002-
.setMethodName("newBuilder")
1003-
.build();
1004-
credsProviderBuilderExpr =
1005-
MethodInvocationExpr.builder()
1006-
.setExprReferenceExpr(credsProviderBuilderExpr)
1007-
.setMethodName("setScopesToApply")
1008-
.setArguments(DEFAULT_SERVICE_SCOPES_VAR_EXPR)
1009-
.setReturnType(returnType)
1010-
.build();
1011-
javaMethods.add(
1012-
MethodDefinition.builder()
1013-
.setHeaderCommentStatements(
1014-
SettingsCommentComposer.DEFAULT_CREDENTIALS_PROVIDER_BUILDER_METHOD_COMMENT)
1015-
.setScope(ScopeNode.PUBLIC)
1016-
.setIsStatic(true)
1017-
.setReturnType(returnType)
1018-
.setName("defaultCredentialsProviderBuilder")
1019-
.setReturnExpr(credsProviderBuilderExpr)
1020-
.build());
1021-
1023+
javaMethods.add(createDefaultCredentialsProviderBuilderMethod());
10221024
javaMethods.add(createDefaultTransportTransportProviderBuilderMethod());
10231025
javaMethods.add(createDefaultTransportChannelProviderMethod());
10241026
javaMethods.add(createDefaultApiClientHeaderProviderBuilderMethod(service, typeStore));

src/main/java/com/google/api/generator/gapic/composer/grpc/ServiceStubSettingsClassComposer.java

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package com.google.api.generator.gapic.composer.grpc;
1616

17+
import com.google.api.gax.core.GoogleCredentialsProvider;
1718
import com.google.api.gax.grpc.GaxGrpcProperties;
1819
import com.google.api.gax.grpc.GrpcTransportChannel;
1920
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
@@ -22,6 +23,7 @@
2223
import com.google.api.generator.engine.ast.ConcreteReference;
2324
import com.google.api.generator.engine.ast.MethodDefinition;
2425
import com.google.api.generator.engine.ast.MethodInvocationExpr;
26+
import com.google.api.generator.engine.ast.PrimitiveValue;
2527
import com.google.api.generator.engine.ast.ScopeNode;
2628
import com.google.api.generator.engine.ast.StringObjectValue;
2729
import com.google.api.generator.engine.ast.TypeNode;
@@ -94,6 +96,47 @@ protected MethodDefinition createDefaultTransportTransportProviderBuilderMethod(
9496
.build();
9597
}
9698

99+
@Override
100+
protected MethodDefinition createDefaultCredentialsProviderBuilderMethod() {
101+
TypeNode returnType =
102+
TypeNode.withReference(
103+
ConcreteReference.withClazz(GoogleCredentialsProvider.Builder.class));
104+
MethodInvocationExpr credsProviderBuilderExpr =
105+
MethodInvocationExpr.builder()
106+
.setStaticReferenceType(FIXED_TYPESTORE.get("GoogleCredentialsProvider"))
107+
.setMethodName("newBuilder")
108+
.build();
109+
credsProviderBuilderExpr =
110+
MethodInvocationExpr.builder()
111+
.setExprReferenceExpr(credsProviderBuilderExpr)
112+
.setMethodName("setScopesToApply")
113+
.setArguments(DEFAULT_SERVICE_SCOPES_VAR_EXPR)
114+
.setReturnType(returnType)
115+
.build();
116+
117+
// This section is specific to GAPIC clients. It sets UseJwtAccessWithScope value to true to
118+
// enable self signed JWT feature.
119+
credsProviderBuilderExpr =
120+
MethodInvocationExpr.builder()
121+
.setExprReferenceExpr(credsProviderBuilderExpr)
122+
.setMethodName("setUseJwtAccessWithScope")
123+
.setArguments(
124+
ValueExpr.withValue(
125+
PrimitiveValue.builder().setType(TypeNode.BOOLEAN).setValue("true").build()))
126+
.setReturnType(returnType)
127+
.build();
128+
129+
return MethodDefinition.builder()
130+
.setHeaderCommentStatements(
131+
SettingsCommentComposer.DEFAULT_CREDENTIALS_PROVIDER_BUILDER_METHOD_COMMENT)
132+
.setScope(ScopeNode.PUBLIC)
133+
.setIsStatic(true)
134+
.setReturnType(returnType)
135+
.setName("defaultCredentialsProviderBuilder")
136+
.setReturnExpr(credsProviderBuilderExpr)
137+
.build();
138+
}
139+
97140
@Override
98141
protected MethodDefinition createDefaultApiClientHeaderProviderBuilderMethod(
99142
Service service, TypeStore typeStore) {

src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/DeprecatedServiceStubSettings.golden

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,9 @@ public class DeprecatedServiceStubSettings extends StubSettings<DeprecatedServic
120120

121121
/** Returns a builder for the default credentials for this service. */
122122
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
123-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
123+
return GoogleCredentialsProvider.newBuilder()
124+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
125+
.setUseJwtAccessWithScope(true);
124126
}
125127

126128
/** Returns a builder for the default ChannelProvider for this service. */

src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/EchoStubSettings.golden

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,9 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
303303

304304
/** Returns a builder for the default credentials for this service. */
305305
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
306-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
306+
return GoogleCredentialsProvider.newBuilder()
307+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
308+
.setUseJwtAccessWithScope(true);
307309
}
308310

309311
/** Returns a builder for the default ChannelProvider for this service. */

src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/LoggingServiceV2StubSettings.golden

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,9 @@ public class LoggingServiceV2StubSettings extends StubSettings<LoggingServiceV2S
440440

441441
/** Returns a builder for the default credentials for this service. */
442442
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
443-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
443+
return GoogleCredentialsProvider.newBuilder()
444+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
445+
.setUseJwtAccessWithScope(true);
444446
}
445447

446448
/** Returns a builder for the default ChannelProvider for this service. */

0 commit comments

Comments
 (0)