xref: /aosp_15_r20/external/grpc-grpc-java/netty/build.gradle (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
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