12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 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")))
- }
- }
|