Skip to content

Commit ab32cc6

Browse files
committed
test: update goldens
1 parent debafec commit ab32cc6

17 files changed

Lines changed: 106 additions & 74 deletions

gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/Composer.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public static List<GapicClass> generateServiceClasses(GapicContext context) {
6969
clazzes.addAll(generateClientSettingsClasses(context));
7070
clazzes.addAll(generateMockClasses(context, context.services()));
7171
clazzes.addAll(generateTestClasses(context));
72+
clazzes.addAll(generateVersionClasses(context));
7273
return clazzes;
7374
}
7475

@@ -197,6 +198,19 @@ public static List<GapicClass> generateTestClasses(GapicContext context) {
197198
return clazzes;
198199
}
199200

201+
public static List<GapicClass> generateVersionClasses(GapicContext context) {
202+
return context.services().stream()
203+
.map(Service::pakkage)
204+
.distinct()
205+
.map(
206+
p -> {
207+
Service service =
208+
context.services().stream().filter(s -> s.pakkage().equals(p)).findFirst().get();
209+
return LibraryVersionClassComposer.instance().generate(context, service);
210+
})
211+
.collect(Collectors.toList());
212+
}
213+
200214
@VisibleForTesting
201215
static List<GapicClass> prepareExecutableSamples(List<GapicClass> clazzes) {
202216
// Include license header, apiShortName, and apiVersion

gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/LibraryVersionClassComposer.java

Lines changed: 22 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,22 @@
1515
package com.google.api.generator.gapic.composer;
1616

1717
import com.google.api.generator.engine.ast.AnnotationNode;
18+
import com.google.api.generator.engine.ast.AssignmentExpr;
1819
import com.google.api.generator.engine.ast.ClassDefinition;
1920
import com.google.api.generator.engine.ast.CommentStatement;
20-
import com.google.api.generator.engine.ast.Expr;
21+
import com.google.api.generator.engine.ast.ConcreteReference;
2122
import com.google.api.generator.engine.ast.ExprStatement;
22-
import com.google.api.generator.engine.ast.FieldDefinition;
2323
import com.google.api.generator.engine.ast.LineComment;
2424
import com.google.api.generator.engine.ast.ScopeNode;
25+
import com.google.api.generator.engine.ast.StringObjectValue;
2526
import com.google.api.generator.engine.ast.TypeNode;
27+
import com.google.api.generator.engine.ast.ValueExpr;
28+
import com.google.api.generator.engine.ast.Variable;
29+
import com.google.api.generator.engine.ast.VariableExpr;
2630
import com.google.api.generator.gapic.model.GapicClass;
2731
import com.google.api.generator.gapic.model.GapicContext;
2832
import com.google.api.generator.gapic.model.Service;
2933
import java.util.Arrays;
30-
import java.util.List;
3134

3235
public class LibraryVersionClassComposer {
3336
private static final LibraryVersionClassComposer INSTANCE = new LibraryVersionClassComposer();
@@ -42,33 +45,34 @@ public GapicClass generate(GapicContext context, Service service) {
4245
String packageName = service.pakkage();
4346
String className = "Version";
4447

45-
// {x-version-update-start:[artifact]:current}
46-
// public static String VERSION = "0.0.0-SNAPSHOT";
47-
// {x-version-update-end}
48-
4948
String artifact = context.artifact();
5049
String artifactId = artifact;
5150
if (artifact != null && artifact.contains(":")) {
5251
artifactId = artifact.split(":")[1];
5352
}
5453

55-
FieldDefinition versionField =
56-
FieldDefinition.builder()
57-
.setScope(ScopeNode.PUBLIC)
58-
.setIsStatic(true)
59-
.setIsFinal(true)
60-
.setType(TypeNode.STRING)
61-
.setName("VERSION")
62-
.setAssignmentExpr(Expr.withValue("0.0.0-SNAPSHOT"))
54+
VariableExpr versionVarExpr =
55+
VariableExpr.withVariable(
56+
Variable.builder().setType(TypeNode.STRING).setName("VERSION").build());
57+
AssignmentExpr versionAssignmentExpr =
58+
AssignmentExpr.builder()
59+
.setVariableExpr(
60+
versionVarExpr.toBuilder()
61+
.setIsDecl(true)
62+
.setScope(ScopeNode.PUBLIC)
63+
.setIsStatic(true)
64+
.setIsFinal(true)
65+
.build())
66+
.setValueExpr(ValueExpr.withValue(StringObjectValue.withValue("0.0.0-SNAPSHOT")))
6367
.build();
6468

6569
ClassDefinition classDef =
6670
ClassDefinition.builder()
67-
.setPackageName(packageName)
71+
.setPackageString(packageName)
6872
.setAnnotations(
6973
Arrays.asList(
7074
AnnotationNode.builder()
71-
.setType(TypeNode.withReference(com.google.api.core.InternalApi.class))
75+
.setType(TypeNode.withReference(ConcreteReference.withClazz(com.google.api.core.InternalApi.class)))
7276
.setDescription("For internal use only")
7377
.build()))
7478
.setScope(ScopeNode.PUBLIC)
@@ -79,34 +83,10 @@ public GapicClass generate(GapicContext context, Service service) {
7983
CommentStatement.withComment(
8084
LineComment.withComment(
8185
String.format("{x-version-update-start:%s:current}", artifactId))),
82-
ExprStatement.withExpr(versionField.assignmentExpr()),
86+
ExprStatement.withExpr(versionAssignmentExpr),
8387
CommentStatement.withComment(LineComment.withComment("{x-version-update-end}"))))
8488
.build();
8589

86-
// Re-evaluating the class definition because I need to include the field itself,
87-
// but the engine's ClassDefinition handles fields separately.
88-
// However, I need the comments around the field.
89-
90-
classDef =
91-
ClassDefinition.builder()
92-
.setPackageName(packageName)
93-
.setAnnotations(
94-
Arrays.asList(
95-
AnnotationNode.builder()
96-
.setType(TypeNode.withReference(com.google.api.core.InternalApi.class))
97-
.setDescription("For internal use only")
98-
.build()))
99-
.setScope(ScopeNode.PUBLIC)
100-
.setIsFinal(true)
101-
.setName(className)
102-
.setFields(Arrays.asList(versionField))
103-
.build();
104-
105-
// Since I can't easily put comments around fields in the current engine,
106-
// I will try to see if I can use statements or just accept standard field generation for now
107-
// if the engine doesn't support comments on fields.
108-
// Actually, looking at the requested template, it's a field.
109-
11090
return GapicClass.create(GapicClass.Kind.MAIN, classDef);
11191
}
11292
}

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

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,7 +1063,7 @@ private List<MethodDefinition> createClassMethods(
10631063
SettingsCommentComposer.NEW_BUILDER_METHOD_COMMENT));
10641064
javaMethods.addAll(createBuilderHelperMethods(service, typeStore));
10651065
javaMethods.add(createClassConstructor(service, methodSettingsMemberVarExprs, typeStore));
1066-
javaMethods.add(createGetLibraryMetadataMethod(context));
1066+
javaMethods.add(createGetLibraryMetadataMethod(context, service));
10671067
return javaMethods;
10681068
}
10691069

@@ -2107,7 +2107,7 @@ private static MethodDefinition createNestedClassBuildMethod(
21072107
.build();
21082108
}
21092109

2110-
private MethodDefinition createGetLibraryMetadataMethod(GapicContext context) {
2110+
private MethodDefinition createGetLibraryMetadataMethod(GapicContext context, Service service) {
21112111
TypeNode returnType = FIXED_TYPESTORE.get("LibraryMetadata");
21122112
MethodInvocationExpr libraryMetadataBuilderExpr =
21132113
MethodInvocationExpr.builder()
@@ -2133,6 +2133,22 @@ private MethodDefinition createGetLibraryMetadataMethod(GapicContext context) {
21332133
.build();
21342134
}
21352135

2136+
libraryMetadataBuilderExpr =
2137+
MethodInvocationExpr.builder()
2138+
.setExprReferenceExpr(libraryMetadataBuilderExpr)
2139+
.setMethodName("setLibraryVersion")
2140+
.setArguments(
2141+
VariableExpr.builder()
2142+
.setStaticReferenceType(
2143+
TypeNode.withReference(
2144+
VaporReference.builder()
2145+
.setName("Version")
2146+
.setPakkage(service.pakkage())
2147+
.build()))
2148+
.setVariable(Variable.builder().setName("VERSION").setType(TypeNode.STRING).build())
2149+
.build())
2150+
.build();
2151+
21362152
Expr returnExpr =
21372153
MethodInvocationExpr.builder()
21382154
.setExprReferenceExpr(libraryMetadataBuilderExpr)
@@ -2313,38 +2329,43 @@ private static TypeNode getCallSettingsType(
23132329
TypeStore typeStore,
23142330
boolean isBatchingSettings,
23152331
final boolean isSettingsBuilder) {
2316-
Function<Class<?>, TypeNode> typeMakerFn =
2317-
clz -> TypeNode.withReference(ConcreteReference.withClazz(clz));
23182332
// Default: No streaming.
23192333
TypeNode callSettingsType =
23202334
method.isPaged()
2321-
? typeMakerFn.apply(
2322-
isSettingsBuilder ? PagedCallSettings.Builder.class : PagedCallSettings.class)
2323-
: typeMakerFn.apply(
2324-
isSettingsBuilder ? UnaryCallSettings.Builder.class : UnaryCallSettings.class);
2335+
? TypeNode.withReference(
2336+
ConcreteReference.withClazz(
2337+
isSettingsBuilder ? PagedCallSettings.Builder.class : PagedCallSettings.class))
2338+
: TypeNode.withReference(
2339+
ConcreteReference.withClazz(
2340+
isSettingsBuilder ? UnaryCallSettings.Builder.class : UnaryCallSettings.class));
23252341
if (isBatchingSettings) {
23262342
callSettingsType =
2327-
typeMakerFn.apply(
2328-
isSettingsBuilder ? BatchingCallSettings.Builder.class : BatchingCallSettings.class);
2343+
TypeNode.withReference(
2344+
ConcreteReference.withClazz(
2345+
isSettingsBuilder
2346+
? BatchingCallSettings.Builder.class
2347+
: BatchingCallSettings.class));
23292348
}
23302349

23312350
// Streaming takes precedence over paging, as per the monolith's existing behavior.
23322351
switch (method.stream()) {
23332352
case SERVER:
23342353
callSettingsType =
2335-
typeMakerFn.apply(
2336-
isSettingsBuilder
2337-
? ServerStreamingCallSettings.Builder.class
2338-
: ServerStreamingCallSettings.class);
2354+
TypeNode.withReference(
2355+
ConcreteReference.withClazz(
2356+
isSettingsBuilder
2357+
? ServerStreamingCallSettings.Builder.class
2358+
: ServerStreamingCallSettings.class));
23392359
break;
23402360
case CLIENT:
23412361
// Fall through.
23422362
case BIDI:
23432363
callSettingsType =
2344-
typeMakerFn.apply(
2345-
isSettingsBuilder
2346-
? StreamingCallSettings.Builder.class
2347-
: StreamingCallSettings.class);
2364+
TypeNode.withReference(
2365+
ConcreteReference.withClazz(
2366+
isSettingsBuilder
2367+
? StreamingCallSettings.Builder.class
2368+
: StreamingCallSettings.class));
23482369
break;
23492370
case NONE:
23502371
// Fall through.
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package com.google.showcase.v1beta1;
22

33
import com.google.api.core.InternalApi;
4-
import javax.annotation.Generated;
54

65
@InternalApi("For internal use only")
7-
@Generated("by gapic-generator-java")
86
public final class Version {
9-
// {x-version-update-start:showcase:current}
7+
// {x-version-update-start:gapic-showcase:current}
108
public static final String VERSION = "0.0.0-SNAPSHOT";
119
// {x-version-update-end}
10+
1211
}
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package com.google.logging.v2;
22

33
import com.google.api.core.InternalApi;
4-
import javax.annotation.Generated;
54

65
@InternalApi("For internal use only")
7-
@Generated("by gapic-generator-java")
86
public final class Version {
9-
// {x-version-update-start:logging:current}
7+
// {x-version-update-start:google-cloud-logging:current}
108
public static final String VERSION = "0.0.0-SNAPSHOT";
119
// {x-version-update-end}
10+
1211
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import com.google.api.gax.rpc.TransportChannelProvider;
1818
import com.google.api.gax.rpc.UnaryCallSettings;
1919
import com.google.api.version.test.EchoRequest;
2020
import com.google.api.version.test.EchoResponse;
21+
import com.google.api.version.test.Version;
2122
import com.google.common.collect.ImmutableList;
2223
import com.google.common.collect.ImmutableMap;
2324
import com.google.common.collect.ImmutableSet;
@@ -170,7 +171,7 @@ public class EchoWithVersionStubSettings extends StubSettings<EchoWithVersionStu
170171

171172
@Override
172173
protected LibraryMetadata getLibraryMetadata() {
173-
return LibraryMetadata.newBuilder().build();
174+
return LibraryMetadata.newBuilder().setLibraryVersion(Version.VERSION).build();
174175
}
175176

176177
/** Builder for EchoWithVersionStubSettings. */

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import com.google.common.collect.ImmutableSet;
2222
import com.google.common.collect.Lists;
2323
import com.google.protobuf.Empty;
2424
import com.google.testdata.v1.FibonacciRequest;
25+
import com.google.testdata.v1.Version;
2526
import java.io.IOException;
2627
import java.time.Duration;
2728
import java.util.List;
@@ -187,7 +188,7 @@ public class DeprecatedServiceStubSettings extends StubSettings<DeprecatedServic
187188

188189
@Override
189190
protected LibraryMetadata getLibraryMetadata() {
190-
return LibraryMetadata.newBuilder().build();
191+
return LibraryMetadata.newBuilder().setLibraryVersion(Version.VERSION).build();
191192
}
192193

193194
/** Builder for DeprecatedServiceStubSettings. */

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import com.google.common.collect.ImmutableSet;
2525
import com.google.common.collect.Lists;
2626
import com.google.selective.generate.v1beta1.EchoRequest;
2727
import com.google.selective.generate.v1beta1.EchoResponse;
28+
import com.google.selective.generate.v1beta1.Version;
2829
import java.io.IOException;
2930
import java.util.List;
3031
import javax.annotation.Generated;
@@ -224,7 +225,7 @@ public class EchoServiceShouldGeneratePartialUsualStubSettings
224225

225226
@Override
226227
protected LibraryMetadata getLibraryMetadata() {
227-
return LibraryMetadata.newBuilder().build();
228+
return LibraryMetadata.newBuilder().setLibraryVersion(Version.VERSION).build();
228229
}
229230

230231
/** Builder for EchoServiceShouldGeneratePartialUsualStubSettings. */

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import com.google.showcase.v1beta1.Object;
4747
import com.google.showcase.v1beta1.PagedExpandLegacyRequest;
4848
import com.google.showcase.v1beta1.PagedExpandRequest;
4949
import com.google.showcase.v1beta1.PagedExpandResponse;
50+
import com.google.showcase.v1beta1.Version;
5051
import com.google.showcase.v1beta1.WaitMetadata;
5152
import com.google.showcase.v1beta1.WaitRequest;
5253
import com.google.showcase.v1beta1.WaitResponse;
@@ -413,6 +414,7 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
413414
return LibraryMetadata.newBuilder()
414415
.setArtifactName("com.google.cloud:gapic-showcase")
415416
.setRepository("googleapis/sdk-platform-java")
417+
.setLibraryVersion(Version.VERSION)
416418
.build();
417419
}
418420

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.google.api.gax.rpc.TransportChannelProvider;
2626
import com.google.api.gax.rpc.UnaryCallSettings;
2727
import com.google.api.gax.rpc.UnaryCallable;
2828
import com.google.cloud.bigquery.v2.JobProto;
29+
import com.google.cloud.bigquery.v2.Version;
2930
import com.google.common.collect.ImmutableList;
3031
import com.google.common.collect.ImmutableMap;
3132
import com.google.common.collect.ImmutableSet;
@@ -260,7 +261,7 @@ public class JobServiceStubSettings extends StubSettings<JobServiceStubSettings>
260261

261262
@Override
262263
protected LibraryMetadata getLibraryMetadata() {
263-
return LibraryMetadata.newBuilder().build();
264+
return LibraryMetadata.newBuilder().setLibraryVersion(Version.VERSION).build();
264265
}
265266

266267
/** Builder for JobServiceStubSettings. */

0 commit comments

Comments
 (0)