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