From 1ca13af523225beb617307856b712d7772493455 Mon Sep 17 00:00:00 2001 From: Dmitrii Duzhinskii Date: Tue, 5 Sep 2023 12:23:49 +0300 Subject: [PATCH] Add generated notice for clients --- .../sudu/protogen/generator/client/BaseGrpcClient.java | 5 +++++ .../sudu/protogen/generator/client/ClientGenerator.java | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/generator/src/main/java/org/sudu/protogen/generator/client/BaseGrpcClient.java b/generator/src/main/java/org/sudu/protogen/generator/client/BaseGrpcClient.java index 356caf2..fcb0f50 100644 --- a/generator/src/main/java/org/sudu/protogen/generator/client/BaseGrpcClient.java +++ b/generator/src/main/java/org/sudu/protogen/generator/client/BaseGrpcClient.java @@ -8,6 +8,11 @@ public class BaseGrpcClient { + public static final String modificationNotice = """ + The client was generated by protogen. If you want to add some logic, mark the service using + `option (protogen.abstract) = true;` and make your own class. + """; + public static final TypeName clazz = ClassName.get("org.sudu.api", "BaseGrpcClient"); private static final ClassName managedChannelClass = ClassName.get("io.grpc", "ManagedChannel"); diff --git a/generator/src/main/java/org/sudu/protogen/generator/client/ClientGenerator.java b/generator/src/main/java/org/sudu/protogen/generator/client/ClientGenerator.java index 97a8667..aaae3f9 100644 --- a/generator/src/main/java/org/sudu/protogen/generator/client/ClientGenerator.java +++ b/generator/src/main/java/org/sudu/protogen/generator/client/ClientGenerator.java @@ -1,13 +1,11 @@ package org.sudu.protogen.generator.client; -import com.squareup.javapoet.CodeBlock; -import com.squareup.javapoet.FieldSpec; -import com.squareup.javapoet.MethodSpec; -import com.squareup.javapoet.TypeSpec; +import com.squareup.javapoet.*; import org.sudu.protogen.descriptors.Method; import org.sudu.protogen.descriptors.Service; import org.sudu.protogen.generator.GenerationContext; +import javax.annotation.processing.Generated; import javax.lang.model.element.Modifier; import java.util.stream.Stream; @@ -34,6 +32,7 @@ public TypeSpec generate() { .addModifiers(Modifier.PUBLIC) .superclass(BaseGrpcClient.clazz) .addField(stubField) + .addAnnotation(AnnotationSpec.builder(ClassName.get(Generated.class)).addMember("value", CodeBlock.of("\"protogen\"")).build()) .addMethods(BaseGrpcClient.generateConstructors(constructorsBody)) .addMethods(service.getMethods().stream() .filter(Method::doGenerate) @@ -42,6 +41,8 @@ public TypeSpec generate() { ); if (service.isAbstract()) { builder.addModifiers(Modifier.ABSTRACT); + } else { + builder.addJavadoc(CodeBlock.of(BaseGrpcClient.modificationNotice)); } return builder.build(); }