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
}
