grpc-java/rls/build.gradle

67 lines
1.9 KiB
Groovy

plugins {
id "java-library"
id "maven-publish"
id "com.google.protobuf"
id "jacoco"
id "ru.vyarus.animalsniffer"
}
description = "gRPC: RouteLookupService Loadbalancing plugin"
tasks.named("jar").configure {
manifest {
attributes('Automatic-Module-Name': 'io.grpc.rls')
}
}
dependencies {
implementation project(':grpc-util'),
project(':grpc-core'),
project(':grpc-protobuf'),
project(':grpc-stub'),
libraries.auto.value.annotations,
libraries.guava
annotationProcessor libraries.auto.value
compileOnly libraries.javax.annotation
testImplementation libraries.truth,
project(':grpc-grpclb'),
project(':grpc-inprocess'),
project(':grpc-testing'),
project(':grpc-testing-proto'),
testFixtures(project(':grpc-api')),
testFixtures(project(':grpc-core'))
signature (libraries.signature.java) {
artifact {
extension = "signature"
}
}
}
tasks.named("compileJava").configure {
it.options.compilerArgs += [
// only has AutoValue annotation processor
"-Xlint:-processing",
]
appendToProperty(
it.options.errorprone.excludedPaths,
".*/build/generated/sources/annotationProcessor/java/.*",
"|")
}
tasks.named("javadoc").configure {
// Do not publish javadoc since currently there is no public API.
failOnError = false // no public or protected classes found to document
exclude 'io/grpc/lookup/v1/**'
exclude 'io/grpc/rls/*Provider.java'
exclude 'io/grpc/rls/internal/**'
exclude 'io/grpc/rls/Internal*'
}
tasks.named("jacocoTestReport").configure {
classDirectories.from = sourceSets.main.output.collect {
fileTree(dir: it, exclude: ['**/io/grpc/lookup/**'])
}
}
configureProtoCompilation()