1apply plugin: 'com.github.kt3k.coveralls' 2 3description = "gRPC: All" 4 5buildscript { 6 repositories { 7 maven { // The google mirror is less flaky than mavenCentral() 8 url "https://maven-central.storage-download.googleapis.com/repos/central/data/" } 9 } 10 dependencies { classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.0.1' } 11} 12 13def subprojects = [ 14 project(':grpc-auth'), 15 project(':grpc-core'), 16 project(':grpc-context'), 17 project(':grpc-netty'), 18 project(':grpc-okhttp'), 19 project(':grpc-protobuf'), 20 project(':grpc-protobuf-lite'), 21 project(':grpc-protobuf-nano'), 22 project(':grpc-stub'), 23 project(':grpc-testing'), 24] 25 26for (subproject in rootProject.subprojects) { 27 if (subproject == project) { 28 continue 29 } 30 evaluationDependsOn(subproject.path) 31} 32 33dependencies { 34 compile subprojects.minus(project(':grpc-protobuf-lite')) 35} 36 37javadoc { 38 classpath = files(subprojects.collect { subproject -> 39 subproject.javadoc.classpath 40 }) 41 for (subproject in subprojects) { 42 if (subproject == project) { 43 continue; 44 } 45 source subproject.javadoc.source 46 options.links subproject.javadoc.options.links.toArray(new String[0]) 47 } 48} 49 50task jacocoMerge(type: JacocoMerge) { 51 dependsOn(subprojects.jacocoTestReport.dependsOn) 52 mustRunAfter(subprojects.jacocoTestReport.mustRunAfter) 53 destinationFile = file("${buildDir}/jacoco/test.exec") 54 executionData = files(subprojects.jacocoTestReport.executionData) 55 .plus(project(':grpc-interop-testing').jacocoTestReport.executionData) 56 .filter { f -> f.exists() } 57} 58 59jacocoTestReport { 60 dependsOn(jacocoMerge) 61 reports { 62 xml.enabled = true 63 html.enabled = true 64 } 65 66 additionalSourceDirs = files(subprojects.sourceSets.main.allSource.srcDirs) 67 sourceDirectories = files(subprojects.sourceSets.main.allSource.srcDirs) 68 classDirectories = files(subprojects.sourceSets.main.output) 69 classDirectories = files(classDirectories.files.collect { 70 fileTree(dir: it, 71 exclude: [ 72 '**/io/grpc/okhttp/internal/**' 73 ]) 74 }) 75} 76 77coveralls { 78 sourceDirs = subprojects.sourceSets.main.allSource.srcDirs.flatten() 79} 80 81tasks.coveralls { dependsOn(jacocoTestReport) } 82