From eb7d13057cdb21841ca30e3459e1a7f2b8974972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szynkiewicz?= Date: Tue, 1 Jun 2021 09:12:22 +0200 Subject: [PATCH] gRPC: fail code generation gracefully on default java package --- .../grpc/protoc/plugin/MutinyGrpcGenerator.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/extensions/grpc/protoc/src/main/java/io/quarkus/grpc/protoc/plugin/MutinyGrpcGenerator.java b/extensions/grpc/protoc/src/main/java/io/quarkus/grpc/protoc/plugin/MutinyGrpcGenerator.java index 65743431321b8..fc11f55503d3e 100644 --- a/extensions/grpc/protoc/src/main/java/io/quarkus/grpc/protoc/plugin/MutinyGrpcGenerator.java +++ b/extensions/grpc/protoc/src/main/java/io/quarkus/grpc/protoc/plugin/MutinyGrpcGenerator.java @@ -41,9 +41,25 @@ public List generateFiles(PluginProtos. .collect(Collectors.toList()); List services = findServices(protosToGenerate, typeMap); + validateServices(services); return generateFiles(services); } + private void validateServices(List services) { + boolean failed = false; + for (ServiceContext service : services) { + if (service.packageName == null || service.packageName.isBlank()) { + System.err.println("Using the default java package is not supported for " + + "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 findServices(List protos, ProtoTypeMap typeMap) { List contexts = new ArrayList<>();