• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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