xref: /aosp_15_r20/external/grpc-grpc-java/all/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 "com.github.kt3k.coveralls"
6*e07d83d3SAndroid Build Coastguard Worker}
7*e07d83d3SAndroid Build Coastguard Worker
8*e07d83d3SAndroid Build Coastguard Workerdescription = "gRPC: All"
9*e07d83d3SAndroid Build Coastguard Worker
10*e07d83d3SAndroid Build Coastguard Workerdef subprojects = [
11*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-api'),
12*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-auth'),
13*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-context'),
14*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-core'),
15*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-grpclb'),
16*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-netty'),
17*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-okhttp'),
18*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-protobuf'),
19*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-protobuf-lite'),
20*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-rls'),
21*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-services'),
22*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-servlet'),
23*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-servlet-jakarta'),
24*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-stub'),
25*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-testing'),
26*e07d83d3SAndroid Build Coastguard Worker    project(':grpc-xds'),
27*e07d83d3SAndroid Build Coastguard Worker]
28*e07d83d3SAndroid Build Coastguard Worker
29*e07d83d3SAndroid Build Coastguard Workerfor (subproject in subprojects) {
30*e07d83d3SAndroid Build Coastguard Worker    if (subproject == project) {
31*e07d83d3SAndroid Build Coastguard Worker        continue
32*e07d83d3SAndroid Build Coastguard Worker    }
33*e07d83d3SAndroid Build Coastguard Worker    evaluationDependsOn(subproject.path)
34*e07d83d3SAndroid Build Coastguard Worker}
35*e07d83d3SAndroid Build Coastguard WorkerevaluationDependsOn(':grpc-interop-testing')
36*e07d83d3SAndroid Build Coastguard Worker
37*e07d83d3SAndroid Build Coastguard Workerdependencies {
38*e07d83d3SAndroid Build Coastguard Worker    api subprojects.minus([project(':grpc-protobuf-lite')])
39*e07d83d3SAndroid Build Coastguard Worker    implementation libraries.guava.jre // JRE required by transitive protobuf-java-util
40*e07d83d3SAndroid Build Coastguard Worker}
41*e07d83d3SAndroid Build Coastguard Worker
42*e07d83d3SAndroid Build Coastguard Workertasks.named("javadoc").configure {
43*e07d83d3SAndroid Build Coastguard Worker    classpath = files(subprojects.collect { subproject ->
44*e07d83d3SAndroid Build Coastguard Worker        subproject.javadoc.classpath
45*e07d83d3SAndroid Build Coastguard Worker    })
46*e07d83d3SAndroid Build Coastguard Worker    for (subproject in subprojects) {
47*e07d83d3SAndroid Build Coastguard Worker        if (subproject == project) {
48*e07d83d3SAndroid Build Coastguard Worker            continue;
49*e07d83d3SAndroid Build Coastguard Worker        }
50*e07d83d3SAndroid Build Coastguard Worker        source subproject.javadoc.source
51*e07d83d3SAndroid Build Coastguard Worker        options.links subproject.javadoc.options.links.toArray(new String[0])
52*e07d83d3SAndroid Build Coastguard Worker    }
53*e07d83d3SAndroid Build Coastguard Worker}
54*e07d83d3SAndroid Build Coastguard Worker
55*e07d83d3SAndroid Build Coastguard Workertasks.named("jacocoTestReport").configure {
56*e07d83d3SAndroid Build Coastguard Worker    dependsOn(subprojects.jacocoTestReport.dependsOn)
57*e07d83d3SAndroid Build Coastguard Worker    dependsOn(project(':grpc-interop-testing').jacocoTestReport.dependsOn)
58*e07d83d3SAndroid Build Coastguard Worker    executionData.from files(subprojects.jacocoTestReport.executionData)
59*e07d83d3SAndroid Build Coastguard Worker            .plus(project(':grpc-interop-testing').jacocoTestReport.executionData)
60*e07d83d3SAndroid Build Coastguard Worker            .filter { f -> f.exists() }
61*e07d83d3SAndroid Build Coastguard Worker    reports {
62*e07d83d3SAndroid Build Coastguard Worker        xml.required = true
63*e07d83d3SAndroid Build Coastguard Worker        html.required = true
64*e07d83d3SAndroid Build Coastguard Worker    }
65*e07d83d3SAndroid Build Coastguard Worker
66*e07d83d3SAndroid Build Coastguard Worker    subprojects.each { subproject ->
67*e07d83d3SAndroid Build Coastguard Worker        additionalSourceDirs.from(subproject.jacocoTestReport.additionalSourceDirs)
68*e07d83d3SAndroid Build Coastguard Worker        sourceDirectories.from(subproject.jacocoTestReport.sourceDirectories)
69*e07d83d3SAndroid Build Coastguard Worker        classDirectories.from(subproject.jacocoTestReport.classDirectories)
70*e07d83d3SAndroid Build Coastguard Worker    }
71*e07d83d3SAndroid Build Coastguard Worker}
72*e07d83d3SAndroid Build Coastguard Worker
73*e07d83d3SAndroid Build Coastguard Workercoveralls {
74*e07d83d3SAndroid Build Coastguard Worker    sourceDirs = subprojects.sourceSets.main.allSource.srcDirs.flatten()
75*e07d83d3SAndroid Build Coastguard Worker}
76*e07d83d3SAndroid Build Coastguard Worker
77*e07d83d3SAndroid Build Coastguard Workertasks.named("coveralls").configure { dependsOn tasks.named("jacocoTestReport") }
78