xref: /aosp_15_r20/external/opencensus-java/all/build.gradle (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1description = "OpenCensus All"
2
3def subprojects = [
4        project(':opencensus-api'),
5        project(':opencensus-impl-core'),
6        project(':opencensus-impl'),
7        project(':opencensus-impl-lite'),
8        project(':opencensus-testing'),
9        project(':opencensus-contrib-agent'),
10        project(':opencensus-contrib-appengine-standard-util'),
11        project(':opencensus-contrib-dropwizard'),
12        project(':opencensus-contrib-dropwizard5'),
13        project(':opencensus-contrib-exemplar-util'),
14        project(':opencensus-contrib-grpc-metrics'),
15        project(':opencensus-contrib-grpc-util'),
16        project(':opencensus-contrib-http-jaxrs'),
17        project(':opencensus-contrib-http-jetty-client'),
18        project(':opencensus-contrib-http-servlet'),
19        project(':opencensus-contrib-http-util'),
20        project(':opencensus-contrib-log-correlation-stackdriver'),
21        project(':opencensus-contrib-observability-ready-util'),
22        project(':opencensus-contrib-resource-util'),
23        project(':opencensus-contrib-spring'),
24        project(':opencensus-contrib-spring-sleuth-v1x'),
25        project(':opencensus-contrib-spring-starter'),
26        project(':opencensus-contrib-zpages'),
27        project(':opencensus-exporter-metrics-ocagent'),
28        project(':opencensus-exporter-metrics-util'),
29        project(':opencensus-exporter-trace-logging'),
30        project(':opencensus-exporter-trace-elasticsearch'),
31        project(':opencensus-exporter-trace-ocagent'),
32        project(':opencensus-exporter-trace-stackdriver'),
33        project(':opencensus-exporter-trace-zipkin'),
34        project(':opencensus-exporter-trace-jaeger'),
35        project(':opencensus-exporter-trace-util'),
36        project(':opencensus-exporter-stats-signalfx'),
37        project(':opencensus-exporter-stats-stackdriver'),
38        project(':opencensus-exporter-stats-prometheus'),
39]
40
41// A subset of subprojects for which we want to publish javadoc.
42def subprojects_javadoc = [
43        project(':opencensus-api'),
44        project(':opencensus-testing'),
45        project(':opencensus-contrib-agent'),
46        project(':opencensus-contrib-appengine-standard-util'),
47        project(':opencensus-contrib-dropwizard'),
48        project(':opencensus-contrib-exemplar-util'),
49        project(':opencensus-contrib-grpc-metrics'),
50        project(':opencensus-contrib-grpc-util'),
51        project(':opencensus-contrib-http-jaxrs'),
52        project(':opencensus-contrib-http-jetty-client'),
53        project(':opencensus-contrib-http-servlet'),
54        project(':opencensus-contrib-http-util'),
55        project(':opencensus-contrib-log-correlation-stackdriver'),
56        project(':opencensus-contrib-observability-ready-util'),
57        project(':opencensus-contrib-resource-util'),
58        project(':opencensus-contrib-spring'),
59        project(':opencensus-contrib-spring-sleuth-v1x'),
60        project(':opencensus-contrib-spring-starter'),
61        project(':opencensus-contrib-zpages'),
62        project(':opencensus-exporter-metrics-ocagent'),
63        project(':opencensus-exporter-metrics-util'),
64        project(':opencensus-exporter-trace-logging'),
65        project(':opencensus-exporter-trace-elasticsearch'),
66        project(':opencensus-exporter-trace-ocagent'),
67        project(':opencensus-exporter-trace-stackdriver'),
68        project(':opencensus-exporter-trace-zipkin'),
69        project(':opencensus-exporter-trace-jaeger'),
70        project(':opencensus-exporter-trace-util'),
71        project(':opencensus-exporter-stats-signalfx'),
72        project(':opencensus-exporter-stats-stackdriver'),
73        project(':opencensus-exporter-stats-prometheus'),
74]
75
76for (subproject in rootProject.subprojects) {
77    if (subproject == project) {
78        continue
79    }
80    evaluationDependsOn(subproject.path)
81}
82
83dependencies {
84    compile subprojects
85}
86
87javadoc {
88    classpath = files(subprojects_javadoc.collect { subproject ->
89        subproject.javadoc.classpath
90    })
91    for (subproject in subprojects_javadoc) {
92        if (subproject == project) {
93            continue;
94        }
95        source subproject.javadoc.source
96        options.links subproject.javadoc.options.links.toArray(new String[0])
97    }
98    exclude 'io/opencensus/internal/**'
99}
100
101task jacocoMerge(type: JacocoMerge) {
102    dependsOn(subprojects.jacocoTestReport.dependsOn)
103    mustRunAfter(subprojects.jacocoTestReport.mustRunAfter)
104    destinationFile = file("${buildDir}/jacoco/test.exec")
105    executionData = files(subprojects.jacocoTestReport.executionData)
106            .filter { f -> f.exists() }
107}
108
109jacocoTestReport {
110    dependsOn(jacocoMerge)
111    reports {
112        xml.enabled = true
113        html.enabled = true
114    }
115
116    additionalSourceDirs = files(subprojects.sourceSets.main.allSource.srcDirs)
117    sourceDirectories = files(subprojects.sourceSets.main.allSource.srcDirs)
118    classDirectories = files(subprojects.sourceSets.main.output)
119    classDirectories = files(classDirectories.files.collect {
120        fileTree(dir: it)
121    })
122}
123