From 805ce0a3cc73cf0d059a870cd0bb88b9edac69cc Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Fri, 15 Nov 2024 12:12:09 +0200 Subject: [PATCH] Fix armeria-grpc latest dep test (#12734) --- .../javaagent/build.gradle.kts | 34 ++++++++++++++++++- .../javaagent/src/test/proto/helloworld.proto | 22 ++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 instrumentation/armeria/armeria-grpc-1.14/javaagent/src/test/proto/helloworld.proto diff --git a/instrumentation/armeria/armeria-grpc-1.14/javaagent/build.gradle.kts b/instrumentation/armeria/armeria-grpc-1.14/javaagent/build.gradle.kts index 65a2309b0f..aaf3db2887 100644 --- a/instrumentation/armeria/armeria-grpc-1.14/javaagent/build.gradle.kts +++ b/instrumentation/armeria/armeria-grpc-1.14/javaagent/build.gradle.kts @@ -1,5 +1,8 @@ +import com.google.protobuf.gradle.* + plugins { id("otel.javaagent-instrumentation") + id("com.google.protobuf") } muzzle { @@ -18,6 +21,35 @@ dependencies { testInstrumentation(project(":instrumentation:netty:netty-4.1:javaagent")) testInstrumentation(project(":instrumentation:grpc-1.6:javaagent")) - testImplementation(project(":instrumentation:grpc-1.6:testing")) testLibrary("com.linecorp.armeria:armeria-junit5:1.14.0") } + +val latestDepTest = findProperty("testLatestDeps") as Boolean +protobuf { + protoc { + val protocVersion = if (latestDepTest) "4.28.2" else "3.19.2" + artifact = "com.google.protobuf:protoc:$protocVersion" + } + plugins { + id("grpc") { + val grpcVersion = if (latestDepTest) "1.43.2" else "1.68.1" + artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion" + } + } + generateProtoTasks { + all().configureEach { + plugins { + id("grpc") + } + } + } +} + +afterEvaluate { + // Classpath when compiling protos, we add dependency management directly + // since it doesn't follow Gradle conventions of naming / properties. + dependencies { + add("compileProtoPath", platform(project(":dependencyManagement"))) + add("testCompileProtoPath", platform(project(":dependencyManagement"))) + } +} diff --git a/instrumentation/armeria/armeria-grpc-1.14/javaagent/src/test/proto/helloworld.proto b/instrumentation/armeria/armeria-grpc-1.14/javaagent/src/test/proto/helloworld.proto new file mode 100644 index 0000000000..e5a12aadd3 --- /dev/null +++ b/instrumentation/armeria/armeria-grpc-1.14/javaagent/src/test/proto/helloworld.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package example; + +service Greeter { + rpc SayHello (Request) returns (Response) { + } + + rpc SayMultipleHello (Request) returns (stream Response) { + } + + rpc Conversation (stream Response) returns (stream Response) { + } +} + +message Request { + string name = 1; +} + +message Response { + string message = 1; +}