Re-add HTML and XML code coverage reports

This commit is contained in:
Gary Tierney
2018-09-04 01:16:12 +01:00
parent 2ea0f68eb9
commit 4525eed734
3 changed files with 66 additions and 30 deletions
+12 -1
View File
@@ -20,4 +20,15 @@ allprojects {
apply from: 'gradle/properties.gradle'
apply from: 'gradle/code-quality.gradle'
apply from: 'gradle/testing.gradle'
apply from: 'gradle/wrapper.gradle'
apply from: 'gradle/wrapper.gradle'
gradle.projectsEvaluated {
task check {
def deps = []
deps += getTasksByName("check", true).findAll { it.project != rootProject }
deps += detektCheck
deps += jacocoReport
dependsOn(deps)
}
}
+17 -25
View File
@@ -1,32 +1,24 @@
def detektAggregateReport = "$rootDir/reports/detekt-report.xml"
gradle.projectsEvaluated {
detekt {
version = detektVersion
detekt {
version = detektVersion
defaultProfile {
output = file("$buildDir/reports")
outputName = "detekt-report"
config = file("$rootDir/gradle/config/detekt.yml")
parallel = true
}
subprojects.findAll { it.pluginManager.hasPlugin('kotlin') }.forEach { proj ->
profile(proj.name) {
input = proj.sourceSets.main.kotlin
}
}
profile("main") {
input = rootProject.projectDir.absolutePath
filters = ".*/resources/.*, .*/build/.*"
output = file("$buildDir/reports")
outputName = "detekt-report"
config = file("$rootDir/gradle/config/detekt.yml")
parallel = true
}
}
dependencies {
detekt group: 'io.gitlab.arturbosch.detekt', name: 'detekt-formatting', version: detektVersion
dependencies {
detekt group: 'io.gitlab.arturbosch.detekt', name: 'detekt-formatting', version: detektVersion
}
sonarqube {
properties {
property "sonar.kotlin.detekt.reportPaths", detektAggregateReport
}
sonarqube {
properties {
property "sonar.kotlin.detekt.reportPaths", detektAggregateReport
}
}
tasks["sonarqube"].dependsOn(detektCheck)
}
+37 -4
View File
@@ -5,7 +5,6 @@ def jacocoCoverageAggregate = "$buildDir/jacoco/jacocoTestAll.exec"
def testedProjects() {
subprojects.findAll { subproject -> subproject.plugins.hasPlugin('java') || subproject.plugins.hasPlugin('kotlin') }
}
gradle.projectsEvaluated {
configure(testedProjects()) {
apply plugin: "jacoco"
@@ -31,6 +30,43 @@ gradle.projectsEvaluated {
task jacocoMerge(type: JacocoMerge) {
destinationFile = file(jacocoCoverageAggregate)
executionData = project.fileTree(dir: '.', include: '**/build/jacoco/jacocoTest.exec')
dependsOn(getTasksByName('test', true))
}
task jacocoReport(type: JacocoReport) {
sourceDirectories = files()
classDirectories = files()
executionData = files()
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
// Work-around to allow us to build list of executionData files in doFirst
onlyIf = {
true
}
/*
* Builds list of source dirs, class dirs, and executionData files
* when task is run, not at script evaluation time
*/
doFirst {
subprojects.findAll { subproject ->
subproject.pluginManager.hasPlugin('java') || subproject.pluginManager.hasPlugin('kotlin')
}.each { subproject ->
additionalSourceDirs files((Set<File>) subproject.sourceSets.main.allSource.srcDirs)
additionalClassDirs((FileCollection) subproject.sourceSets.main.output)
}
executionData = files(jacocoCoverageAggregate)
}
dependsOn(jacocoMerge)
}
sonarqube {
@@ -42,7 +78,4 @@ gradle.projectsEvaluated {
property "sonar.jacoco.reportPaths", jacocoCoverageAggregate
}
}
tasks["sonarqube"].dependsOn(jacocoMerge)
}