File: build.gradle

package info (click to toggle)
grpc-java 1.26.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 11,852 kB
  • sloc: java: 146,813; cpp: 1,174; xml: 1,037; sh: 662; makefile: 40; python: 40
file content (131 lines) | stat: -rw-r--r-- 4,126 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
plugins {
    id "application"
    id "java"
    id "maven-publish"

    id "com.google.protobuf"
}

description = "gRPC: Integration Testing"
startScripts.enabled = false

configurations {
    alpnagent
}

evaluationDependsOn(project(':grpc-context').path)

dependencies {
    compile project(':grpc-alts'),
            project(':grpc-auth'),
            project(':grpc-core'),
            project(':grpc-netty'),
            project(':grpc-okhttp'),
            project(':grpc-protobuf'),
            project(':grpc-stub'),
            project(':grpc-testing'),
            libraries.google_auth_oauth2_http,
            libraries.junit,
            libraries.truth
    compileOnly libraries.javax_annotation
    runtime libraries.opencensus_impl,
            libraries.netty_tcnative,
            project(':grpc-grpclb')
    testCompile project(':grpc-context').sourceSets.test.output,
            libraries.mockito
    alpnagent libraries.jetty_alpn_agent
}

configureProtoCompilation()

import net.ltgt.gradle.errorprone.CheckSeverity

compileJava {
    // This isn't a library; it can use beta APIs
    options.errorprone.check("BetaApi", CheckSeverity.OFF)
}

test {
    // For the automated tests, use Jetty ALPN.
    jvmArgs "-javaagent:" + configurations.alpnagent.asPath
}

// For the generated scripts, use Netty tcnative (i.e. OpenSSL).
// Note that OkHttp currently only supports ALPN, so OpenSSL version >= 1.0.2 is required.

task test_client(type: CreateStartScripts) {
    mainClassName = "io.grpc.testing.integration.TestServiceClient"
    applicationName = "test-client"
    defaultJvmOpts = [
        "-javaagent:JAVAAGENT_APP_HOME" + configurations.alpnagent.singleFile.name
    ]
    outputDir = new File(project.buildDir, 'tmp')
    classpath = jar.outputs.files + configurations.runtime
    dependencies { runtime configurations.alpnagent }
    doLast {
        unixScript.text = unixScript.text.replace('JAVAAGENT_APP_HOME', '\$APP_HOME/lib/')
        windowsScript.text = windowsScript.text.replace('JAVAAGENT_APP_HOME', '%APP_HOME%\\lib\\')
    }
}

task test_server(type: CreateStartScripts) {
    mainClassName = "io.grpc.testing.integration.TestServiceServer"
    applicationName = "test-server"
    outputDir = new File(project.buildDir, 'tmp')
    classpath = jar.outputs.files + configurations.runtime
}

task reconnect_test_client(type: CreateStartScripts) {
    mainClassName = "io.grpc.testing.integration.ReconnectTestClient"
    applicationName = "reconnect-test-client"
    outputDir = new File(project.buildDir, 'tmp')
    classpath = jar.outputs.files + configurations.runtime
}

task stresstest_client(type: CreateStartScripts) {
    mainClassName = "io.grpc.testing.integration.StressTestClient"
    applicationName = "stresstest-client"
    outputDir = new File(project.buildDir, 'tmp')
    classpath = jar.outputs.files + configurations.runtime
    defaultJvmOpts = [
        "-verbose:gc",
        "-XX:+PrintFlagsFinal"
    ]
}

task http2_client(type: CreateStartScripts) {
    mainClassName = "io.grpc.testing.integration.Http2Client"
    applicationName = "http2-client"
    outputDir = new File(project.buildDir, 'tmp')
    classpath = jar.outputs.files + configurations.runtime
}

task grpclb_long_lived_affinity_test_client(type: CreateStartScripts) {
    mainClassName = "io.grpc.testing.integration.GrpclbLongLivedAffinityTestClient"
    applicationName = "grpclb-long-lived-affinity-test-client"
    outputDir = new File(project.buildDir, 'tmp')
    classpath = jar.outputs.files + configurations.runtime
    defaultJvmOpts = [
        "-Dio.grpc.internal.DnsNameResolverProvider.enable_grpclb=true",
        "-Dio.grpc.internal.DnsNameResolverProvider.enable_service_config=true"
    ]
}

applicationDistribution.into("bin") {
    from(test_client)
    from(test_server)
    from(reconnect_test_client)
    from(stresstest_client)
    from(http2_client)
    from(grpclb_long_lived_affinity_test_client)
    fileMode = 0755
}

publishing {
    publications {
        maven(MavenPublication) {
            artifact distZip
            artifact distTar
        }
    }
}