description = "gRPC: Netty"
dependencies {
    compile project(':grpc-core'),
            libraries.netty,
            libraries.netty_proxy_handler

    // Tests depend on base class defined by core module.
    testCompile project(':grpc-core').sourceSets.test.output,
            project(':grpc-testing'),
            project(':grpc-testing-proto')
    testRuntime libraries.netty_tcnative,
            libraries.conscrypt
    signature "org.codehaus.mojo.signature:java17:1.0@signature"
}

[compileJava, compileTestJava].each() {
    // Netty retuns a lot of futures that we mostly don't care about.
    it.options.compilerArgs += [
        "-Xep:FutureReturnValueIgnored:OFF"
    ]
}

javadoc {
    options.links 'http://netty.io/4.1/api/'
    exclude 'io/grpc/netty/Internal*'
}

project.sourceSets {
    main { java { srcDir "${projectDir}/third_party/netty/java" } }
}

test {
    // Allow testing Jetty ALPN in TlsTest
    jvmArgs "-javaagent:" + configurations.alpnagent.asPath
}

jmh {
    // Workaround
    // https://github.com/melix/jmh-gradle-plugin/issues/97#issuecomment-316664026
    includeTests = true
}
