Skip to content

Commit

Permalink
Merge pull request #17577 from michalszynkiewicz/grpc-fail-on-default…
Browse files Browse the repository at this point in the history
…-package
  • Loading branch information
cescoffier authored Jun 1, 2021
2 parents e4760ee + fbceaa8 commit a48df12
Showing 1 changed file with 20 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;

import com.google.common.base.Strings;
Expand All @@ -19,6 +21,8 @@
*/
public class MutinyGrpcGenerator extends Generator {

private static final Logger log = Logger.getLogger(MutinyGrpcGenerator.class.getName());

private static final int SERVICE_NUMBER_OF_PATHS = 2;
private static final int METHOD_NUMBER_OF_PATHS = 4;
public static final String CLASS_PREFIX = "Mutiny";
Expand All @@ -41,9 +45,25 @@ public List<PluginProtos.CodeGeneratorResponse.File> generateFiles(PluginProtos.
.collect(Collectors.toList());

List<ServiceContext> services = findServices(protosToGenerate, typeMap);
validateServices(services);
return generateFiles(services);
}

private void validateServices(List<ServiceContext> services) {
boolean failed = false;
for (ServiceContext service : services) {
if (service.packageName == null || service.packageName.isBlank()) {
log.log(Level.SEVERE, "Using the default java package is not supported for "
+ "Quarkus gRPC code generation. Please specify `option java_package = \"your.package\"` in "
+ service.protoName);
failed = true;
}
}
if (failed) {
throw new IllegalArgumentException("Code generation failed. Please check the log above for details.");
}
}

private List<ServiceContext> findServices(List<DescriptorProtos.FileDescriptorProto> protos, ProtoTypeMap typeMap) {
List<ServiceContext> contexts = new ArrayList<>();

Expand Down

0 comments on commit a48df12

Please sign in to comment.