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

    id "me.champeau.gradle.japicmp"
    id "ru.vyarus.animalsniffer"
}

description = "gRPC: Testing"

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

dependencies {
    api project(':grpc-core'),
            project(':grpc-stub'),
            libraries.junit
    // Only io.grpc.internal.testing.StatsTestUtils depends on opencensus_api, for internal use.
    compileOnly libraries.opencensus.api
    runtimeOnly project(":grpc-context") // Pull in newer version than census-api

    testImplementation (libraries.mockito.core) {
        // prefer our own versions instead of mockito's dependency
        exclude group: 'org.hamcrest', module: 'hamcrest-core'
    }

    testImplementation project(':grpc-testing-proto'),
            project(':grpc-core').sourceSets.test.output

    signature libraries.signature.java
    signature libraries.signature.android
}

tasks.named("javadoc").configure { exclude 'io/grpc/internal/**' }

tasks.named("jacocoTestReport").configure {
    classDirectories.from = sourceSets.main.output.collect {
        fileTree(dir: it,
        exclude: [
                '**/io/grpc/internal/testing/**',
        ])
    }
}
