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