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

    id "me.champeau.gradle.japicmp"
}

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
}

javadoc { exclude 'io/grpc/internal/**' }

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