diff --git a/benchmarks/src/generated/main/grpc/io/grpc/benchmarks/proto/BenchmarkServiceGrpc.java b/benchmarks/src/generated/main/grpc/io/grpc/benchmarks/proto/BenchmarkServiceGrpc.java index 7323b4ae38..0ab19795fe 100644 --- a/benchmarks/src/generated/main/grpc/io/grpc/benchmarks/proto/BenchmarkServiceGrpc.java +++ b/benchmarks/src/generated/main/grpc/io/grpc/benchmarks/proto/BenchmarkServiceGrpc.java @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: services.proto") public class BenchmarkServiceGrpc { diff --git a/benchmarks/src/generated/main/grpc/io/grpc/benchmarks/proto/WorkerServiceGrpc.java b/benchmarks/src/generated/main/grpc/io/grpc/benchmarks/proto/WorkerServiceGrpc.java index 552dd04e14..9fb1c088d6 100644 --- a/benchmarks/src/generated/main/grpc/io/grpc/benchmarks/proto/WorkerServiceGrpc.java +++ b/benchmarks/src/generated/main/grpc/io/grpc/benchmarks/proto/WorkerServiceGrpc.java @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: services.proto") public class WorkerServiceGrpc { diff --git a/compiler/build.gradle b/compiler/build.gradle index 30c5dcae4e..240e57ddf2 100644 --- a/compiler/build.gradle +++ b/compiler/build.gradle @@ -75,6 +75,7 @@ model { binaries { all { if (toolChain in Gcc || toolChain in Clang) { + cppCompiler.define("GRPC_VERSION", version) cppCompiler.args "--std=c++0x" addEnvArgs("CXXFLAGS", cppCompiler.args) addEnvArgs("CPPFLAGS", cppCompiler.args) @@ -95,6 +96,7 @@ model { } addEnvArgs("LDFLAGS", linker.args) } else if (toolChain in VisualCpp) { + cppCompiler.define("GRPC_VERSION", version) cppCompiler.args "/EHsc", "/MT" if (rootProject.hasProperty('vcProtobufInclude')) { cppCompiler.args "/I${rootProject.vcProtobufInclude}" diff --git a/compiler/src/java_plugin/cpp/java_generator.cpp b/compiler/src/java_plugin/cpp/java_generator.cpp index 0aadd18e75..f59f2cd79e 100644 --- a/compiler/src/java_plugin/cpp/java_generator.cpp +++ b/compiler/src/java_plugin/cpp/java_generator.cpp @@ -9,6 +9,15 @@ #include #include +// Stringify helpers used solely to cast GRPC_VERSION +#ifndef STR +#define STR(s) #s +#endif + +#ifndef XSTR +#define XSTR(s) STR(s) +#endif + namespace java_grpc_generator { using google::protobuf::FileDescriptor; @@ -698,10 +707,15 @@ static void PrintService(const ServiceDescriptor* service, (*vars)["service_name"] = service->name(); (*vars)["file_name"] = service->file()->name(); (*vars)["service_class_name"] = ServiceClassName(service); + #ifdef GRPC_VERSION + (*vars)["grpc_version"] = " (version " XSTR(GRPC_VERSION) ")"; + #else + (*vars)["grpc_version"] = ""; + #endif p->Print( *vars, "@$Generated$(\n" - " value = \"by gRPC proto compiler\",\n" + " value = \"by gRPC proto compiler$grpc_version$\",\n" " comments = \"Source: $file_name$\")\n" "public class $service_class_name$ {\n\n"); p->Indent(); diff --git a/compiler/src/test/golden/TestService.java.txt b/compiler/src/test/golden/TestService.java.txt index cd82a81070..ac6db78bd8 100644 --- a/compiler/src/test/golden/TestService.java.txt +++ b/compiler/src/test/golden/TestService.java.txt @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: test.proto") public class TestServiceGrpc { diff --git a/compiler/src/testLite/golden/TestService.java.txt b/compiler/src/testLite/golden/TestService.java.txt index 1270fc7e49..cb76da8737 100644 --- a/compiler/src/testLite/golden/TestService.java.txt +++ b/compiler/src/testLite/golden/TestService.java.txt @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: test.proto") public class TestServiceGrpc { diff --git a/compiler/src/testNano/golden/TestService.java.txt b/compiler/src/testNano/golden/TestService.java.txt index 88dc9cd862..ccd028ef30 100644 --- a/compiler/src/testNano/golden/TestService.java.txt +++ b/compiler/src/testNano/golden/TestService.java.txt @@ -18,7 +18,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; import java.io.IOException; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: test.proto") public class TestServiceGrpc { diff --git a/examples/src/generated/main/grpc/io/grpc/examples/helloworld/GreeterGrpc.java b/examples/src/generated/main/grpc/io/grpc/examples/helloworld/GreeterGrpc.java index 0771628330..91631c25bb 100644 --- a/examples/src/generated/main/grpc/io/grpc/examples/helloworld/GreeterGrpc.java +++ b/examples/src/generated/main/grpc/io/grpc/examples/helloworld/GreeterGrpc.java @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: helloworld.proto") public class GreeterGrpc { diff --git a/examples/src/generated/main/grpc/io/grpc/examples/routeguide/RouteGuideGrpc.java b/examples/src/generated/main/grpc/io/grpc/examples/routeguide/RouteGuideGrpc.java index 72c7fb19fa..8f4e4738bc 100644 --- a/examples/src/generated/main/grpc/io/grpc/examples/routeguide/RouteGuideGrpc.java +++ b/examples/src/generated/main/grpc/io/grpc/examples/routeguide/RouteGuideGrpc.java @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: route_guide.proto") public class RouteGuideGrpc { diff --git a/grpclb/src/generated/main/grpc/io/grpc/grpclb/LoadBalancerGrpc.java b/grpclb/src/generated/main/grpc/io/grpc/grpclb/LoadBalancerGrpc.java index dd43cac7f1..a91bb7e154 100644 --- a/grpclb/src/generated/main/grpc/io/grpc/grpclb/LoadBalancerGrpc.java +++ b/grpclb/src/generated/main/grpc/io/grpc/grpclb/LoadBalancerGrpc.java @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: load_balancer.proto") public class LoadBalancerGrpc { diff --git a/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/ReconnectServiceGrpc.java b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/ReconnectServiceGrpc.java index 5f976370f0..64473f7f3e 100644 --- a/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/ReconnectServiceGrpc.java +++ b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/ReconnectServiceGrpc.java @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: io/grpc/testing/integration/test.proto") public class ReconnectServiceGrpc { diff --git a/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/TestServiceGrpc.java b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/TestServiceGrpc.java index cb5648eb4e..a3ccda4826 100644 --- a/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/TestServiceGrpc.java +++ b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/TestServiceGrpc.java @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: io/grpc/testing/integration/test.proto") public class TestServiceGrpc { diff --git a/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/UnimplementedServiceGrpc.java b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/UnimplementedServiceGrpc.java index 2005131802..0924a06f6e 100644 --- a/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/UnimplementedServiceGrpc.java +++ b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/UnimplementedServiceGrpc.java @@ -16,7 +16,7 @@ import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; @javax.annotation.Generated( - value = "by gRPC proto compiler", + value = "by gRPC proto compiler (version 0.14.0-SNAPSHOT)", comments = "Source: io/grpc/testing/integration/test.proto") public class UnimplementedServiceGrpc {