diff --git a/src/it/TEST-28/invoker.properties b/src/it/TEST-28/invoker.properties new file mode 100644 index 00000000..59b0119a --- /dev/null +++ b/src/it/TEST-28/invoker.properties @@ -0,0 +1,6 @@ +# An optional description for this build job to be included in the build reports. +invoker.description = Verifies that a binary artifact for a protoc plugin can be downloaded from Maven repository. + +# A comma or space separated list of goals/phases to execute, may +# specify an empty list to execute the default goal of the IT project +invoker.goals = clean package diff --git a/src/it/TEST-28/pom.xml b/src/it/TEST-28/pom.xml new file mode 100644 index 00000000..ebc0eb62 --- /dev/null +++ b/src/it/TEST-28/pom.xml @@ -0,0 +1,76 @@ + + + + + 4.0.0 + + + com.google.protobuf.tools.maven-protoc-plugin.its + it-parent + 0.0.1-SNAPSHOT + + + TEST-28 + 0.0.1-SNAPSHOT + + Integration Test 28 + + + 3.0.0-alpha-3 + 0.7.2 + + + + + + kr.motd.maven + os-maven-plugin + 1.3.0.Final + + + + + + com.google.protobuf.tools + maven-protoc-plugin + @project.version@ + + + protoc-compile + generate-sources + + compile + compile-custom + + + + protoc-test-compile + generate-test-sources + + test-compile + test-compile-custom + + + + + com.google.protobuf:protoc:${protobufVersion}:exe:${os.detected.classifier} + + grpc + io.grpc:protoc-gen-grpc-java:${grpcVersion}:exe:${os.detected.classifier} + + nano=false + + + + + + + + io.grpc + grpc-all + ${grpcVersion} + + + diff --git a/src/it/TEST-28/src/main/proto/test.proto b/src/it/TEST-28/src/main/proto/test.proto new file mode 100644 index 00000000..725296e2 --- /dev/null +++ b/src/it/TEST-28/src/main/proto/test.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; + +option java_package = "test"; +option java_outer_classname = "TestProtos"; +option optimize_for = SPEED; + +message TestMessage { + message NestedMessage { + int32 zz = 1; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + } + + // Singular + int32 xx = 1; + repeated NestedEnum yy = 2; +} + +service MyService { + rpc MyMethod(TestMessage) returns(TestMessage) {} +} diff --git a/src/it/TEST-28/verify.groovy b/src/it/TEST-28/verify.groovy new file mode 100644 index 00000000..903dc8f8 --- /dev/null +++ b/src/it/TEST-28/verify.groovy @@ -0,0 +1,28 @@ +outputDirectory = new File(basedir, 'target/generated-sources/protobuf/java'); +assert outputDirectory.exists(); +assert outputDirectory.isDirectory(); + +generatedJavaFile = new File(outputDirectory, 'test/TestProtos.java'); +assert generatedJavaFile.exists(); +assert generatedJavaFile.isFile(); + +content = generatedJavaFile.text; +assert content.contains('package test'); +assert content.contains('class TestProtos'); +assert content.contains('class TestMessage'); + +outputDirectory = new File(basedir, 'target/generated-sources/protobuf/grpc'); +assert outputDirectory.exists(); +assert outputDirectory.isDirectory(); + +generatedJavaFile = new File(outputDirectory, 'test/MyServiceGrpc.java'); +assert generatedJavaFile.exists(); +assert generatedJavaFile.isFile(); + +content = generatedJavaFile.text; +assert content.contains('package test'); +assert content.contains('class MyServiceGrpc'); +assert content.contains('interface MyService'); + + +return true;