xref: /aosp_15_r20/external/grpc-grpc-java/istio-interop-testing/build.gradle (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
1plugins {
2    id "application"
3    id "java"
4
5    id "com.google.protobuf"
6    id 'com.google.cloud.tools.jib'
7    id "ru.vyarus.animalsniffer"
8}
9
10description = "gRPC: Istio Interop testing"
11
12configurations {
13    alpnagent
14}
15
16dependencies {
17    implementation  project(':grpc-core'),
18            project(':grpc-netty'),
19            project(':grpc-protobuf'),
20            project(':grpc-services'),
21            project(':grpc-stub'),
22            project(':grpc-testing'),
23            project(':grpc-xds')
24
25    compileOnly libraries.javax.annotation
26
27    runtimeOnly libraries.netty.tcnative,
28            libraries.netty.tcnative.classes
29    testImplementation testFixtures(project(':grpc-context')),
30            testFixtures(project(':grpc-api')),
31            testFixtures(project(':grpc-core')),
32            libraries.mockito.core,
33            libraries.junit,
34            libraries.truth
35    alpnagent libraries.jetty.alpn.agent
36
37    signature libraries.signature.java
38}
39
40sourceSets {
41    main {
42        proto {
43            srcDir 'third_party/istio/src/main/proto'
44        }
45    }
46}
47
48configureProtoCompilation()
49
50import net.ltgt.gradle.errorprone.CheckSeverity
51
52tasks.named("compileJava").configure {
53    // This isn't a library; it can use beta APIs
54    options.errorprone.check("BetaApi", CheckSeverity.OFF)
55}
56
57
58// For releasing to Docker Hub
59jib {
60    from.image = "gcr.io/distroless/java:8"
61    container {
62        ports = ['50051']
63        mainClass="io.grpc.testing.istio.EchoTestServer"
64    }
65    outputPaths {
66        tar = 'build/istio-echo-server.tar'
67        digest = 'build/istio-echo-server.digest'
68        imageId = 'build/istio-echo-server.id'
69    }
70}
71