plugins {
    id "java"
    id "maven-publish"

    id "com.google.protobuf"
    id "me.champeau.gradle.japicmp"
}

description = "gRPC: GRPCLB LoadBalancer plugin"

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

dependencies {
    implementation project(':grpc-core'),
            project(':grpc-protobuf'),
            project(':grpc-stub'),
            libraries.protobuf
    implementation (libraries.protobuf_util) {
        // prefer our own versions instead of protobuf-util's dependency
        exclude group: 'com.google.guava', module: 'guava'
        exclude group: 'com.google.errorprone', module: 'error_prone_annotations'
    }
    guavaDependency 'implementation'
    runtimeOnly libraries.errorprone
    compileOnly libraries.javax_annotation
    testImplementation libraries.truth,
            project(':grpc-core').sourceSets.test.output
}

configureProtoCompilation()

javadoc {
    exclude 'io/grpc/grpclb/Internal*'
}

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