Skip to content

Commit 58daebb

Browse files
committed
Merge remote-tracking branch 'upstream/master' into regapic
2 parents 0c94beb + 7691f4e commit 58daebb

File tree

22 files changed

+134
-48
lines changed

22 files changed

+134
-48
lines changed

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",

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. */

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

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

450450
/** Returns a builder for the default credentials for this service. */
451451
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
452-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
452+
return GoogleCredentialsProvider.newBuilder()
453+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
454+
.setUseJwtAccessWithScope(true);
453455
}
454456

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

test/integration/goldens/asset/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,9 @@ public static List<String> getDefaultServiceScopes() {
452452

453453
/** Returns a builder for the default credentials for this service. */
454454
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
455-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
455+
return GoogleCredentialsProvider.newBuilder()
456+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
457+
.setUseJwtAccessWithScope(true);
456458
}
457459

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

test/integration/goldens/credentials/com/google/cloud/iam/credentials/v1/stub/IamCredentialsStubSettings.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@ public static List<String> getDefaultServiceScopes() {
150150

151151
/** Returns a builder for the default credentials for this service. */
152152
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
153-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
153+
return GoogleCredentialsProvider.newBuilder()
154+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
155+
.setUseJwtAccessWithScope(true);
154156
}
155157

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

0 commit comments

Comments
 (0)