From 787f6662e7cdd925541de4a72e37c2119fac82f8 Mon Sep 17 00:00:00 2001 From: Emily Wang Date: Wed, 5 Oct 2022 18:20:47 +0000 Subject: [PATCH 1/8] Customize package info for spring and remove generation of gapic metadata file --- .../api/generator/spring/SpringGenerator.java | 3 +- .../api/generator/spring/SpringWriter.java | 22 +------ .../spring/composer/SpringComposer.java | 14 +++++ .../composer/SpringPackageInfoComposer.java | 62 +++++++++++++++++++ 4 files changed, 79 insertions(+), 22 deletions(-) create mode 100644 src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java diff --git a/src/main/java/com/google/api/generator/spring/SpringGenerator.java b/src/main/java/com/google/api/generator/spring/SpringGenerator.java index 3df06aa5e2..b85f310d49 100644 --- a/src/main/java/com/google/api/generator/spring/SpringGenerator.java +++ b/src/main/java/com/google/api/generator/spring/SpringGenerator.java @@ -14,7 +14,6 @@ package com.google.api.generator.spring; -import com.google.api.generator.gapic.composer.Composer; import com.google.api.generator.gapic.model.GapicClass; import com.google.api.generator.gapic.model.GapicContext; import com.google.api.generator.gapic.model.GapicPackageInfo; @@ -28,7 +27,7 @@ public class SpringGenerator { public static CodeGeneratorResponse generateSpring(CodeGeneratorRequest request) { GapicContext context = Parser.parse(request); List clazzes = SpringComposer.composeServiceAutoConfigClasses(context); - GapicPackageInfo packageInfo = Composer.composePackageInfo(context); + GapicPackageInfo packageInfo = SpringComposer.composePackageInfo(context); String outputFilename = "temp-codegen-spring.srcjar"; return SpringWriter.write(context, clazzes, packageInfo, outputFilename); } diff --git a/src/main/java/com/google/api/generator/spring/SpringWriter.java b/src/main/java/com/google/api/generator/spring/SpringWriter.java index 7bf3ef1613..e62617d8f2 100644 --- a/src/main/java/com/google/api/generator/spring/SpringWriter.java +++ b/src/main/java/com/google/api/generator/spring/SpringWriter.java @@ -23,7 +23,6 @@ import com.google.api.generator.spring.composer.Utils; import com.google.protobuf.ByteString; import com.google.protobuf.compiler.PluginProtos.CodeGeneratorResponse; -import com.google.protobuf.util.JsonFormat; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.List; @@ -61,8 +60,8 @@ public static CodeGeneratorResponse write( writeAutoConfigRegistration(context, jos); writeSpringAdditionalMetadataJson(context, jos); - // TODO: metadata and package info not custimized for Spring - writeMetadataFile(context, writePackageInfo(gapicPackageInfo, codeWriter, jos), jos); + // write package-info.java + writePackageInfo(gapicPackageInfo, codeWriter, jos); try { jos.finish(); @@ -123,19 +122,6 @@ private static String writePackageInfo( return packagePath; } - private static void writeMetadataFile(GapicContext context, String path, JarOutputStream jos) { - if (context.gapicMetadataEnabled()) { - JarEntry jarEntry = new JarEntry(String.format("%s/gapic_metadata.json", path)); - try { - jos.putNextEntry(jarEntry); - jos.write( - JsonFormat.printer().print(context.gapicMetadata()).getBytes(StandardCharsets.UTF_8)); - } catch (IOException e) { - throw new GapicWriterException("Could not write gapic_metadata.json", e); - } - } - } - private static void writeAutoConfigRegistration(GapicContext context, JarOutputStream jos) { String path = "src/main/resources/META-INF/spring"; JarEntry jarEntry = @@ -202,8 +188,4 @@ private static String getPath(String pakkage, String className) { } return path; } - - private static String getSamplePackage(GapicClass gapicClazz) { - return gapicClazz.classDefinition().packageString().concat(".samples"); - } } diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringComposer.java index 2a039224bf..ad8c581841 100644 --- a/src/main/java/com/google/api/generator/spring/composer/SpringComposer.java +++ b/src/main/java/com/google/api/generator/spring/composer/SpringComposer.java @@ -18,6 +18,7 @@ import com.google.api.generator.gapic.composer.comment.CommentComposer; import com.google.api.generator.gapic.model.GapicClass; import com.google.api.generator.gapic.model.GapicContext; +import com.google.api.generator.gapic.model.GapicPackageInfo; import com.google.api.generator.gapic.model.Transport; import java.util.ArrayList; import java.util.List; @@ -30,6 +31,10 @@ public static List composeServiceAutoConfigClasses(GapicContext cont return addApacheLicense(clazzes); } + public static GapicPackageInfo composePackageInfo(GapicContext context) { + return addApacheLicense(SpringPackageInfoComposer.generatePackageInfo(context)); + } + protected static List generatePerServiceClasses(GapicContext context) { List clazzes = new ArrayList<>(); context @@ -59,4 +64,13 @@ protected static List addApacheLicense(List gapicClassLi }) .collect(Collectors.toList()); } + + private static GapicPackageInfo addApacheLicense(GapicPackageInfo gapicPackageInfo) { + return GapicPackageInfo.with( + gapicPackageInfo + .packageInfo() + .toBuilder() + .setFileHeader(CommentComposer.APACHE_LICENSE_COMMENT) + .build()); + } } diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java new file mode 100644 index 0000000000..912a285110 --- /dev/null +++ b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java @@ -0,0 +1,62 @@ +// 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. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.api.generator.spring.composer; + +import com.google.api.generator.engine.ast.AnnotationNode; +import com.google.api.generator.engine.ast.CommentStatement; +import com.google.api.generator.engine.ast.ConcreteReference; +import com.google.api.generator.engine.ast.JavaDocComment; +import com.google.api.generator.engine.ast.PackageInfoDefinition; +import com.google.api.generator.engine.ast.TypeNode; +import com.google.api.generator.gapic.model.GapicContext; +import com.google.api.generator.gapic.model.GapicPackageInfo; +import com.google.common.base.Preconditions; +import com.google.common.base.Strings; +import javax.annotation.Generated; + +public class SpringPackageInfoComposer { + private static final String PACKAGE_INFO_TITLE_PATTERN = + "Auto-configuration for Google Cloud %s integration with Spring."; + + public static GapicPackageInfo generatePackageInfo(GapicContext context) { + Preconditions.checkState(!context.services().isEmpty(), "No services found to generate"); + // Pick some service's package, as we assume they are all the same. + // TODO: update when spring autoconfig package name is finalized + String libraryPakkage = context.services().get(0).pakkage() + ".spring"; + + PackageInfoDefinition packageInfo = + PackageInfoDefinition.builder() + .setPakkage(libraryPakkage) + .setHeaderCommentStatements(createPackageInfoJavadoc(context)) + .setAnnotations( + AnnotationNode.builder() + .setType(TypeNode.withReference(ConcreteReference.withClazz(Generated.class))) + .setDescription("by gapic-generator-java") + .build()) + .build(); + return GapicPackageInfo.with(packageInfo); + } + + private static CommentStatement createPackageInfoJavadoc(GapicContext context) { + JavaDocComment.Builder javaDocCommentBuilder = JavaDocComment.builder(); + if (context.hasServiceYamlProto() + && !Strings.isNullOrEmpty(context.serviceYamlProto().getTitle())) { + javaDocCommentBuilder = + javaDocCommentBuilder.addComment( + String.format(PACKAGE_INFO_TITLE_PATTERN, context.serviceYamlProto().getTitle())); + } + return CommentStatement.withComment(javaDocCommentBuilder.build()); + } +} From 8dd72b06697952591d35e435487786393eb18b05 Mon Sep 17 00:00:00 2001 From: Emily Wang Date: Thu, 6 Oct 2022 19:23:45 +0000 Subject: [PATCH 2/8] Add descriptive title comment to package info --- .../api/generator/spring/SpringWriter.java | 3 +-- .../composer/SpringPackageInfoComposer.java | 17 ++++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/google/api/generator/spring/SpringWriter.java b/src/main/java/com/google/api/generator/spring/SpringWriter.java index e62617d8f2..f520ba9cf4 100644 --- a/src/main/java/com/google/api/generator/spring/SpringWriter.java +++ b/src/main/java/com/google/api/generator/spring/SpringWriter.java @@ -110,8 +110,7 @@ private static String writePackageInfo( String code = codeWriter.write(); codeWriter.clear(); - String packagePath = - "src/main/java/" + packageInfo.pakkage().replaceAll("\\.", "/") + "/spring"; + String packagePath = "src/main/java/" + packageInfo.pakkage().replaceAll("\\.", "/"); JarEntry jarEntry = new JarEntry(String.format("%s/package-info.java", packagePath)); try { jos.putNextEntry(jarEntry); diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java index 912a285110..f926855a2d 100644 --- a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java +++ b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java @@ -23,7 +23,6 @@ import com.google.api.generator.gapic.model.GapicContext; import com.google.api.generator.gapic.model.GapicPackageInfo; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; import javax.annotation.Generated; public class SpringPackageInfoComposer { @@ -51,12 +50,16 @@ public static GapicPackageInfo generatePackageInfo(GapicContext context) { private static CommentStatement createPackageInfoJavadoc(GapicContext context) { JavaDocComment.Builder javaDocCommentBuilder = JavaDocComment.builder(); - if (context.hasServiceYamlProto() - && !Strings.isNullOrEmpty(context.serviceYamlProto().getTitle())) { - javaDocCommentBuilder = - javaDocCommentBuilder.addComment( - String.format(PACKAGE_INFO_TITLE_PATTERN, context.serviceYamlProto().getTitle())); - } + // TODO: Can context.serviceYamlProto().getTitle() be available in context and used here? + // if (context.hasServiceYamlProto() + // && !Strings.isNullOrEmpty(context.serviceYamlProto().getTitle())) { + // javaDocCommentBuilder = + // javaDocCommentBuilder.addComment( + // String.format(PACKAGE_INFO_TITLE_PATTERN, context.serviceYamlProto().getTitle())); + // } + javaDocCommentBuilder = + javaDocCommentBuilder.addComment( + String.format(PACKAGE_INFO_TITLE_PATTERN, Utils.getLibName(context))); return CommentStatement.withComment(javaDocCommentBuilder.build()); } } From 7701be8ee7c04800ed3107754ca64cb047f82de2 Mon Sep 17 00:00:00 2001 From: Emily Wang Date: Wed, 12 Oct 2022 11:53:28 -0400 Subject: [PATCH 3/8] Add test for package info composer and use libname as fallback --- .../composer/SpringPackageInfoComposer.java | 24 +++++----- .../SpringPackageInfoComposerTest.java | 47 +++++++++++++++++++ .../composer/goldens/SpringPackageInfo.golden | 5 ++ 3 files changed, 65 insertions(+), 11 deletions(-) create mode 100644 src/test/java/com/google/api/generator/spring/composer/SpringPackageInfoComposerTest.java create mode 100644 src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfo.golden diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java index f926855a2d..c859f326ca 100644 --- a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java +++ b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java @@ -23,11 +23,12 @@ import com.google.api.generator.gapic.model.GapicContext; import com.google.api.generator.gapic.model.GapicPackageInfo; import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import javax.annotation.Generated; public class SpringPackageInfoComposer { private static final String PACKAGE_INFO_TITLE_PATTERN = - "Auto-configuration for Google Cloud %s integration with Spring."; + "Auto-configuration for %s integration with Spring."; public static GapicPackageInfo generatePackageInfo(GapicContext context) { Preconditions.checkState(!context.services().isEmpty(), "No services found to generate"); @@ -50,16 +51,17 @@ public static GapicPackageInfo generatePackageInfo(GapicContext context) { private static CommentStatement createPackageInfoJavadoc(GapicContext context) { JavaDocComment.Builder javaDocCommentBuilder = JavaDocComment.builder(); - // TODO: Can context.serviceYamlProto().getTitle() be available in context and used here? - // if (context.hasServiceYamlProto() - // && !Strings.isNullOrEmpty(context.serviceYamlProto().getTitle())) { - // javaDocCommentBuilder = - // javaDocCommentBuilder.addComment( - // String.format(PACKAGE_INFO_TITLE_PATTERN, context.serviceYamlProto().getTitle())); - // } - javaDocCommentBuilder = - javaDocCommentBuilder.addComment( - String.format(PACKAGE_INFO_TITLE_PATTERN, Utils.getLibName(context))); + if (context.hasServiceYamlProto() + && !Strings.isNullOrEmpty(context.serviceYamlProto().getTitle())) { + javaDocCommentBuilder = + javaDocCommentBuilder.addComment( + String.format(PACKAGE_INFO_TITLE_PATTERN, context.serviceYamlProto().getTitle())); + } else { + // When title from service yaml is not available, use parsed libname as fallback + javaDocCommentBuilder = + javaDocCommentBuilder.addComment( + String.format(PACKAGE_INFO_TITLE_PATTERN, Utils.getLibName(context))); + } return CommentStatement.withComment(javaDocCommentBuilder.build()); } } diff --git a/src/test/java/com/google/api/generator/spring/composer/SpringPackageInfoComposerTest.java b/src/test/java/com/google/api/generator/spring/composer/SpringPackageInfoComposerTest.java new file mode 100644 index 0000000000..a36d3bb1e8 --- /dev/null +++ b/src/test/java/com/google/api/generator/spring/composer/SpringPackageInfoComposerTest.java @@ -0,0 +1,47 @@ +// 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. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.api.generator.spring.composer; + +import com.google.api.generator.engine.writer.JavaWriterVisitor; +import com.google.api.generator.gapic.composer.common.TestProtoLoader; +import com.google.api.generator.gapic.model.GapicContext; +import com.google.api.generator.gapic.model.GapicPackageInfo; +import com.google.api.generator.test.framework.Assert; +import com.google.api.generator.test.framework.Utils; +import java.nio.file.Path; +import java.nio.file.Paths; +import org.junit.Before; +import org.junit.Test; + +public class SpringPackageInfoComposerTest { + private GapicContext context; + + @Before + public void setUp() { + this.context = TestProtoLoader.instance().parseShowcaseEcho(); + } + + @Test + public void generateAutoConfigClazzTest() { + GapicPackageInfo packageInfo = SpringPackageInfoComposer.generatePackageInfo(this.context); + JavaWriterVisitor visitor = new JavaWriterVisitor(); + packageInfo.packageInfo().accept(visitor); + String fileName = "SpringPackageInfo.golden"; + + Utils.saveCodegenToFile(this.getClass(), fileName, visitor.write()); + Path goldenFilePath = Paths.get(Utils.getGoldenDir(this.getClass()), fileName); + Assert.assertCodeEquals(goldenFilePath, visitor.write()); + } +} diff --git a/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfo.golden b/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfo.golden new file mode 100644 index 0000000000..c20f1d3179 --- /dev/null +++ b/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfo.golden @@ -0,0 +1,5 @@ +/** Auto-configuration for showcase integration with Spring. */ +@Generated("by gapic-generator-java") +package com.google.showcase.v1beta1.spring; + +import javax.annotation.Generated; From 5686a0c3ce5761caa39d881873c030134a1c6b8c Mon Sep 17 00:00:00 2001 From: Emily Wang Date: Wed, 12 Oct 2022 12:00:57 -0400 Subject: [PATCH 4/8] Fix added unit test name --- .../spring/composer/SpringPackageInfoComposerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/google/api/generator/spring/composer/SpringPackageInfoComposerTest.java b/src/test/java/com/google/api/generator/spring/composer/SpringPackageInfoComposerTest.java index a36d3bb1e8..9a044c0c15 100644 --- a/src/test/java/com/google/api/generator/spring/composer/SpringPackageInfoComposerTest.java +++ b/src/test/java/com/google/api/generator/spring/composer/SpringPackageInfoComposerTest.java @@ -34,7 +34,7 @@ public void setUp() { } @Test - public void generateAutoConfigClazzTest() { + public void generateSpringPackageInfoTest() { GapicPackageInfo packageInfo = SpringPackageInfoComposer.generatePackageInfo(this.context); JavaWriterVisitor visitor = new JavaWriterVisitor(); packageInfo.packageInfo().accept(visitor); From f75a71b9bda4913eca667c9599b435870083974a Mon Sep 17 00:00:00 2001 From: Emily Wang Date: Fri, 14 Oct 2022 14:39:36 -0400 Subject: [PATCH 5/8] Also add check for generated package-info in SpringComposerTest --- .../spring/composer/SpringComposerTest.java | 14 +++++++++++++ .../goldens/SpringPackageInfoFull.golden | 21 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfoFull.golden diff --git a/src/test/java/com/google/api/generator/spring/composer/SpringComposerTest.java b/src/test/java/com/google/api/generator/spring/composer/SpringComposerTest.java index 3f2a1abb24..6f9493f4c2 100644 --- a/src/test/java/com/google/api/generator/spring/composer/SpringComposerTest.java +++ b/src/test/java/com/google/api/generator/spring/composer/SpringComposerTest.java @@ -14,10 +14,15 @@ package com.google.api.generator.spring.composer; +import com.google.api.generator.engine.writer.JavaWriterVisitor; import com.google.api.generator.gapic.composer.common.TestProtoLoader; import com.google.api.generator.gapic.model.GapicClass; import com.google.api.generator.gapic.model.GapicContext; +import com.google.api.generator.gapic.model.GapicPackageInfo; import com.google.api.generator.test.framework.Assert; +import com.google.api.generator.test.framework.Utils; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.List; import org.junit.Before; import org.junit.Test; @@ -34,11 +39,20 @@ public void setUp() { public void spring_composer_test() { List gapicClasses = SpringComposer.composeServiceAutoConfigClasses(context); + GapicPackageInfo packageInfo = SpringComposer.composePackageInfo(context); // write to verify result for now for (GapicClass gapicClazz : gapicClasses) { String fileName = gapicClazz.classDefinition().classIdentifier() + "Full.golden"; Assert.assertGoldenClass(this.getClass(), gapicClazz, fileName); } + + String packageInfoFileName = "SpringPackageInfoFull.golden"; + JavaWriterVisitor visitor = new JavaWriterVisitor(); + packageInfo.packageInfo().accept(visitor); + Utils.saveCodegenToFile(this.getClass(), packageInfoFileName, visitor.write()); + Path packageInfoGoldenFilePath = + Paths.get(Utils.getGoldenDir(this.getClass()), packageInfoFileName); + Assert.assertCodeEquals(packageInfoGoldenFilePath, visitor.write()); } } diff --git a/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfoFull.golden b/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfoFull.golden new file mode 100644 index 0000000000..80a8ec701a --- /dev/null +++ b/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfoFull.golden @@ -0,0 +1,21 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** Auto-configuration for showcase integration with Spring. */ +@Generated("by gapic-generator-java") +package com.google.showcase.v1beta1.spring; + +import javax.annotation.Generated; From 5a24ae53880911cfdd4a00a40f2fdbc3d3db2c07 Mon Sep 17 00:00:00 2001 From: Emily Wang Date: Tue, 18 Oct 2022 15:25:55 -0400 Subject: [PATCH 6/8] Update SpringpackageInfoComposer to use utils methods for naming logic --- .../composer/SpringPackageInfoComposer.java | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java index c859f326ca..8e4b59a386 100644 --- a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java +++ b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java @@ -23,7 +23,6 @@ import com.google.api.generator.gapic.model.GapicContext; import com.google.api.generator.gapic.model.GapicPackageInfo; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; import javax.annotation.Generated; public class SpringPackageInfoComposer { @@ -32,13 +31,9 @@ public class SpringPackageInfoComposer { public static GapicPackageInfo generatePackageInfo(GapicContext context) { Preconditions.checkState(!context.services().isEmpty(), "No services found to generate"); - // Pick some service's package, as we assume they are all the same. - // TODO: update when spring autoconfig package name is finalized - String libraryPakkage = context.services().get(0).pakkage() + ".spring"; - PackageInfoDefinition packageInfo = PackageInfoDefinition.builder() - .setPakkage(libraryPakkage) + .setPakkage(Utils.getSpringPackageName(Utils.getPackageName(context))) .setHeaderCommentStatements(createPackageInfoJavadoc(context)) .setAnnotations( AnnotationNode.builder() @@ -51,17 +46,9 @@ public static GapicPackageInfo generatePackageInfo(GapicContext context) { private static CommentStatement createPackageInfoJavadoc(GapicContext context) { JavaDocComment.Builder javaDocCommentBuilder = JavaDocComment.builder(); - if (context.hasServiceYamlProto() - && !Strings.isNullOrEmpty(context.serviceYamlProto().getTitle())) { - javaDocCommentBuilder = - javaDocCommentBuilder.addComment( - String.format(PACKAGE_INFO_TITLE_PATTERN, context.serviceYamlProto().getTitle())); - } else { - // When title from service yaml is not available, use parsed libname as fallback - javaDocCommentBuilder = - javaDocCommentBuilder.addComment( - String.format(PACKAGE_INFO_TITLE_PATTERN, Utils.getLibName(context))); - } + javaDocCommentBuilder = + javaDocCommentBuilder.addComment( + String.format(PACKAGE_INFO_TITLE_PATTERN, Utils.getLibName(context))); return CommentStatement.withComment(javaDocCommentBuilder.build()); } } From 97361db51f562808e201063678eaee17e22f8542 Mon Sep 17 00:00:00 2001 From: Emily Wang Date: Tue, 18 Oct 2022 15:35:33 -0400 Subject: [PATCH 7/8] Update title comment --- .../generator/spring/composer/SpringPackageInfoComposer.java | 2 +- .../generator/spring/composer/goldens/SpringPackageInfo.golden | 2 +- .../spring/composer/goldens/SpringPackageInfoFull.golden | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java index 8e4b59a386..d1971cd46a 100644 --- a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java +++ b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java @@ -27,7 +27,7 @@ public class SpringPackageInfoComposer { private static final String PACKAGE_INFO_TITLE_PATTERN = - "Auto-configuration for %s integration with Spring."; + "Spring Boot auto-configurations for %s."; public static GapicPackageInfo generatePackageInfo(GapicContext context) { Preconditions.checkState(!context.services().isEmpty(), "No services found to generate"); diff --git a/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfo.golden b/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfo.golden index c20f1d3179..d7ed65e461 100644 --- a/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfo.golden +++ b/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfo.golden @@ -1,4 +1,4 @@ -/** Auto-configuration for showcase integration with Spring. */ +/** Spring Boot auto-configurations for showcase. */ @Generated("by gapic-generator-java") package com.google.showcase.v1beta1.spring; diff --git a/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfoFull.golden b/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfoFull.golden index 80a8ec701a..4be7458a76 100644 --- a/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfoFull.golden +++ b/src/test/java/com/google/api/generator/spring/composer/goldens/SpringPackageInfoFull.golden @@ -14,7 +14,7 @@ * limitations under the License. */ -/** Auto-configuration for showcase integration with Spring. */ +/** Spring Boot auto-configurations for showcase. */ @Generated("by gapic-generator-java") package com.google.showcase.v1beta1.spring; From 2867963d46d29fdc190a07e151d3bdafc5653c2e Mon Sep 17 00:00:00 2001 From: Emily Wang Date: Mon, 24 Oct 2022 09:42:48 -0400 Subject: [PATCH 8/8] Fix imports after merging updates --- .../api/generator/spring/composer/SpringPackageInfoComposer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java index d1971cd46a..aa94bb3841 100644 --- a/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java +++ b/src/main/java/com/google/api/generator/spring/composer/SpringPackageInfoComposer.java @@ -22,6 +22,7 @@ import com.google.api.generator.engine.ast.TypeNode; import com.google.api.generator.gapic.model.GapicContext; import com.google.api.generator.gapic.model.GapicPackageInfo; +import com.google.api.generator.spring.utils.Utils; import com.google.common.base.Preconditions; import javax.annotation.Generated;