Переглянути джерело

Make jacoco/coveralls aggregate reports.

pull/59/head
Chris Smith 9 роки тому
джерело
коміт
564cc55d37
3 змінених файлів з 40 додано та 10 видалено
  1. 5
    9
      build.gradle
  2. 1
    1
      circle.yml
  3. 34
    0
      gradle/coverage.gradle

+ 5
- 9
build.gradle Переглянути файл

@@ -4,8 +4,8 @@ subprojects {
4 4
     apply plugin: 'com.dmdirc.git-version'
5 5
     apply plugin: 'maven-publish'
6 6
     apply plugin: 'java'
7
-    apply plugin: 'jacoco'
8
-    apply plugin: 'com.github.kt3k.coveralls'
7
+
8
+    apply from: '../gradle/coverage.gradle'
9 9
 
10 10
     sourceSets {
11 11
         main.java.srcDirs = ['src']
@@ -106,13 +106,6 @@ subprojects {
106 106
     artifacts {
107 107
         archives javadocJar, sourcesJar
108 108
     }
109
-
110
-    jacocoTestReport {
111
-        reports {
112
-            xml.enabled = true // coveralls plugin depends on xml format report
113
-            html.enabled = true
114
-        }
115
-    }
116 109
 }
117 110
 
118 111
 task wrapper(type: Wrapper) {
@@ -142,3 +135,6 @@ buildscript {
142 135
         classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.1.0'
143 136
     }
144 137
 }
138
+
139
+apply from: 'gradle/coverage.gradle'
140
+

+ 1
- 1
circle.yml Переглянути файл

@@ -14,4 +14,4 @@ test:
14 14
   override:
15 15
     - ./gradlew check
16 16
   post:
17
-    - ./gradlew jacocoTestReport coveralls
17
+    - ./gradlew coveralls

+ 34
- 0
gradle/coverage.gradle Переглянути файл

@@ -0,0 +1,34 @@
1
+apply plugin: 'jacoco'
2
+apply plugin: 'com.github.kt3k.coveralls'
3
+
4
+task jacocoRootReport(type: JacocoReport, group: 'Coverage reports', dependsOn: subprojects.test) {
5
+  description = 'Generates an aggregate report from all subprojects'
6
+
7
+  additionalSourceDirs = files(subprojects.sourceSets.main.allSource.srcDirs)
8
+  sourceDirectories = files(subprojects.sourceSets.main.allSource.srcDirs)
9
+  classDirectories = files(subprojects.sourceSets.main.output)
10
+  executionData = files(subprojects.jacocoTestReport.executionData)
11
+
12
+  reports {
13
+    html.enabled = true
14
+    xml.enabled = true
15
+  }
16
+
17
+  doFirst {
18
+    executionData = files(executionData.findAll { it.exists() })
19
+  }
20
+}
21
+
22
+coveralls {
23
+  jacocoReportPath = "${buildDir}/reports/jacoco/jacocoRootReport/jacocoRootReport.xml"
24
+  subprojects.sourceSets.main.allSource.srcDirs*.path.each { sourceDirs.addAll(it) }
25
+}
26
+
27
+tasks.coveralls {
28
+  group = 'Coverage reports'
29
+  description = 'Uploads the aggregated coverage report to Coveralls'
30
+
31
+  dependsOn jacocoRootReport
32
+  onlyIf { System.env.'CI' }
33
+}
34
+

Завантаження…
Відмінити
Зберегти