plugins {
    id "java"
    id "maven-publish"
    id "com.google.protobuf"
    id "jacoco"
    id "ru.vyarus.animalsniffer"
}

description = "gRPC: RouteLookupService Loadbalancing plugin"

evaluationDependsOn(project(':grpc-core').path)

dependencies {
    implementation project(':grpc-core'),
            project(':grpc-protobuf'),
            project(':grpc-stub')
    guavaDependency 'implementation'
    compileOnly libraries.javax_annotation
    testImplementation libraries.truth,
            project(':grpc-grpclb'),
            project(':grpc-testing'),
            project(':grpc-testing-proto'),
            project(':grpc-core').sourceSets.test.output  // for FakeClock
    signature "org.codehaus.mojo.signature:java17:1.0@signature"
}

javadoc {
    // 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/internal/**'
    exclude 'io/grpc/rls/Internal*'
}

jacocoTestReport {
    classDirectories.from = sourceSets.main.output.collect {
        fileTree(dir: it, exclude: ['**/io/grpc/lookup/**'])
    }
}

configureProtoCompilation()
