opentelemetry-java-instrume.../instrumentation/grpc-1.6/testing/build.gradle.kts

71 lines
1.7 KiB
Plaintext

import com.google.protobuf.gradle.*
plugins {
id("otel.java-conventions")
id("com.google.protobuf")
}
val grpcVersion = "1.6.0"
dependencies {
api(project(":testing-common"))
api("io.grpc:grpc-core:$grpcVersion")
api("io.grpc:grpc-protobuf:$grpcVersion")
api("io.grpc:grpc-services:$grpcVersion")
api("io.grpc:grpc-stub:$grpcVersion")
implementation("javax.annotation:javax.annotation-api:1.3.2")
implementation("com.google.guava:guava")
api("org.junit-pioneer:junit-pioneer")
implementation("io.opentelemetry:opentelemetry-api")
}
tasks {
compileJava {
with(options) {
// We generate stubs using an old version of protobuf to test old versions of gRPC,
// where this lint error triggers.
compilerArgs.add("-Xlint:-cast")
}
}
}
protobuf {
protoc {
// The artifact spec for the Protobuf Compiler
artifact = "com.google.protobuf:protoc:3.3.0"
if (osdetector.os == "osx") {
// Always use x86_64 version as ARM binary is not available
artifact += ":osx-x86_64"
}
}
plugins {
id("grpc") {
artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion"
if (osdetector.os == "osx") {
// Always use x86_64 version as ARM binary is not available
artifact += ":osx-x86_64"
}
}
}
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")))
}
}