1*e07d83d3SAndroid Build Coastguard Workerplugins { 2*e07d83d3SAndroid Build Coastguard Worker id "java-library" 3*e07d83d3SAndroid Build Coastguard Worker id "maven-publish" 4*e07d83d3SAndroid Build Coastguard Worker 5*e07d83d3SAndroid Build Coastguard Worker id "me.champeau.gradle.japicmp" 6*e07d83d3SAndroid Build Coastguard Worker id "me.champeau.jmh" 7*e07d83d3SAndroid Build Coastguard Worker id "ru.vyarus.animalsniffer" 8*e07d83d3SAndroid Build Coastguard Worker} 9*e07d83d3SAndroid Build Coastguard Worker 10*e07d83d3SAndroid Build Coastguard Workerdescription = "gRPC: Netty" 11*e07d83d3SAndroid Build Coastguard Worker 12*e07d83d3SAndroid Build Coastguard Workerconfigurations { 13*e07d83d3SAndroid Build Coastguard Worker alpnagent 14*e07d83d3SAndroid Build Coastguard Worker} 15*e07d83d3SAndroid Build Coastguard Worker 16*e07d83d3SAndroid Build Coastguard Workerdependencies { 17*e07d83d3SAndroid Build Coastguard Worker api project(':grpc-core'), 18*e07d83d3SAndroid Build Coastguard Worker libraries.netty.codec.http2 19*e07d83d3SAndroid Build Coastguard Worker implementation libs.netty.handler.proxy, 20*e07d83d3SAndroid Build Coastguard Worker libraries.guava, 21*e07d83d3SAndroid Build Coastguard Worker libraries.errorprone.annotations, 22*e07d83d3SAndroid Build Coastguard Worker libraries.perfmark.api, 23*e07d83d3SAndroid Build Coastguard Worker libraries.netty.unix.common 24*e07d83d3SAndroid Build Coastguard Worker 25*e07d83d3SAndroid Build Coastguard Worker // Tests depend on base class defined by core module. 26*e07d83d3SAndroid Build Coastguard Worker testImplementation testFixtures(project(':grpc-core')), 27*e07d83d3SAndroid Build Coastguard Worker testFixtures(project(':grpc-api')), 28*e07d83d3SAndroid Build Coastguard Worker project(':grpc-testing'), 29*e07d83d3SAndroid Build Coastguard Worker project(':grpc-testing-proto'), 30*e07d83d3SAndroid Build Coastguard Worker libraries.conscrypt, 31*e07d83d3SAndroid Build Coastguard Worker libraries.netty.transport.epoll 32*e07d83d3SAndroid Build Coastguard Worker testRuntimeOnly libraries.netty.tcnative, 33*e07d83d3SAndroid Build Coastguard Worker libraries.netty.tcnative.classes 34*e07d83d3SAndroid Build Coastguard Worker testRuntimeOnly (libraries.netty.tcnative) { 35*e07d83d3SAndroid Build Coastguard Worker artifact { 36*e07d83d3SAndroid Build Coastguard Worker classifier = "linux-x86_64" 37*e07d83d3SAndroid Build Coastguard Worker } 38*e07d83d3SAndroid Build Coastguard Worker } 39*e07d83d3SAndroid Build Coastguard Worker testRuntimeOnly (libraries.netty.tcnative) { 40*e07d83d3SAndroid Build Coastguard Worker artifact { 41*e07d83d3SAndroid Build Coastguard Worker classifier = "linux-aarch_64" 42*e07d83d3SAndroid Build Coastguard Worker } 43*e07d83d3SAndroid Build Coastguard Worker } 44*e07d83d3SAndroid Build Coastguard Worker testRuntimeOnly (libraries.netty.tcnative) { 45*e07d83d3SAndroid Build Coastguard Worker artifact { 46*e07d83d3SAndroid Build Coastguard Worker classifier = "osx-x86_64" 47*e07d83d3SAndroid Build Coastguard Worker } 48*e07d83d3SAndroid Build Coastguard Worker } 49*e07d83d3SAndroid Build Coastguard Worker testRuntimeOnly (libraries.netty.tcnative) { 50*e07d83d3SAndroid Build Coastguard Worker artifact { 51*e07d83d3SAndroid Build Coastguard Worker classifier = "osx-aarch_64" 52*e07d83d3SAndroid Build Coastguard Worker } 53*e07d83d3SAndroid Build Coastguard Worker } 54*e07d83d3SAndroid Build Coastguard Worker testRuntimeOnly (libraries.netty.tcnative) { 55*e07d83d3SAndroid Build Coastguard Worker artifact { 56*e07d83d3SAndroid Build Coastguard Worker classifier = "windows-x86_64" 57*e07d83d3SAndroid Build Coastguard Worker } 58*e07d83d3SAndroid Build Coastguard Worker } 59*e07d83d3SAndroid Build Coastguard Worker testRuntimeOnly (libraries.netty.transport.epoll) { 60*e07d83d3SAndroid Build Coastguard Worker artifact { 61*e07d83d3SAndroid Build Coastguard Worker classifier = "linux-x86_64" 62*e07d83d3SAndroid Build Coastguard Worker } 63*e07d83d3SAndroid Build Coastguard Worker } 64*e07d83d3SAndroid Build Coastguard Worker signature libraries.signature.java 65*e07d83d3SAndroid Build Coastguard Worker signature libraries.signature.android 66*e07d83d3SAndroid Build Coastguard Worker alpnagent libraries.jetty.alpn.agent 67*e07d83d3SAndroid Build Coastguard Worker} 68*e07d83d3SAndroid Build Coastguard Worker 69*e07d83d3SAndroid Build Coastguard Workerimport net.ltgt.gradle.errorprone.CheckSeverity 70*e07d83d3SAndroid Build Coastguard Worker 71*e07d83d3SAndroid Build Coastguard Worker[tasks.named("compileJava"), tasks.named("compileTestJava")]*.configure { 72*e07d83d3SAndroid Build Coastguard Worker // Netty retuns a lot of futures that we mostly don't care about. 73*e07d83d3SAndroid Build Coastguard Worker options.errorprone.check("FutureReturnValueIgnored", CheckSeverity.OFF) 74*e07d83d3SAndroid Build Coastguard Worker} 75*e07d83d3SAndroid Build Coastguard Worker 76*e07d83d3SAndroid Build Coastguard Workertasks.named("javadoc").configure { 77*e07d83d3SAndroid Build Coastguard Worker options.links 'http://netty.io/4.1/api/' 78*e07d83d3SAndroid Build Coastguard Worker exclude 'io/grpc/netty/Internal*' 79*e07d83d3SAndroid Build Coastguard Worker} 80*e07d83d3SAndroid Build Coastguard Worker 81*e07d83d3SAndroid Build Coastguard Workertasks.named("test").configure { 82*e07d83d3SAndroid Build Coastguard Worker // Allow testing Jetty ALPN in TlsTest 83*e07d83d3SAndroid Build Coastguard Worker jvmArgs "-javaagent:" + configurations.alpnagent.asPath 84*e07d83d3SAndroid Build Coastguard Worker} 85*e07d83d3SAndroid Build Coastguard Worker 86*e07d83d3SAndroid Build Coastguard Workertasks.named("jmh").configure { 87*e07d83d3SAndroid Build Coastguard Worker // Workaround 88*e07d83d3SAndroid Build Coastguard Worker // https://github.com/melix/jmh-gradle-plugin/issues/97#issuecomment-316664026 89*e07d83d3SAndroid Build Coastguard Worker includeTests = true 90*e07d83d3SAndroid Build Coastguard Worker} 91*e07d83d3SAndroid Build Coastguard Worker 92*e07d83d3SAndroid Build Coastguard Workertasks.named("checkstyleMain").configure { 93*e07d83d3SAndroid Build Coastguard Worker source = source.minus(fileTree(dir: "src/main", include: "**/Http2ControlFrameLimitEncoder.java")) 94*e07d83d3SAndroid Build Coastguard Worker} 95