From 0f009882af0e1b1e25d960e57b8f2a5906fe1f10 Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Mon, 27 Aug 2018 02:06:04 +0100 Subject: [PATCH] Fix merging of JaCoCo reports --- gradle/testing.gradle | 67 +++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/gradle/testing.gradle b/gradle/testing.gradle index 6e462b7b..ec42fd68 100644 --- a/gradle/testing.gradle +++ b/gradle/testing.gradle @@ -1,4 +1,4 @@ -apply plugin: 'jacoco' +apply plugin: "jacoco" def jacocoCoverageAggregate = "$buildDir/jacoco/jacocoTestAll.exec" @@ -6,46 +6,43 @@ def testedProjects() { subprojects.findAll { subproject -> subproject.plugins.hasPlugin('java') || subproject.plugins.hasPlugin('kotlin') } } -configure(testedProjects()) { - - jacoco { - toolVersion = '0.8.1' - } - - jacocoTestReport { - sourceDirectories = files(sourceSets.main.allSource.srcDirs) - classDirectories = files(sourceSets.main.output) - } - - test { - reports { - junitXml.enabled = true - html.enabled = false - } +gradle.projectsEvaluated { + configure(testedProjects()) { + apply plugin: "jacoco" jacoco { - append = false - destinationFile = file("$buildDir/jacoco/jacocoTest.exec") - classDumpDir = file("$buildDir/jacoco/classpathdumps") + toolVersion = '0.8.1' } + test { + reports { + junitXml.enabled = true + html.enabled = false + } + + jacoco { + append = false + destinationFile = file("$buildDir/jacoco/jacocoTest.exec") + classDumpDir = file("$buildDir/jacoco/classpathdumps") + } + } } -} -task jacocoMerge(type: JacocoMerge) { - destinationFile = file(jacocoCoverageAggregate) - executionData = project.fileTree(dir: '.', include: '**/build/jacoco/test.exec') -} - -sonarqube { - properties { - property "sonar.organization", "apollo-rsps" - property "sonar.projectKey", "apollo:org.apollo" - property "sonar.projectName", "Apollo RSPS" - property "sonar.kotlin.file.suffixes", ".kt,.kts" - property "sonar.jacoco.reportPaths", jacocoCoverageAggregate + task jacocoMerge(type: JacocoMerge) { + destinationFile = file(jacocoCoverageAggregate) + executionData = project.fileTree(dir: '.', include: '**/build/jacoco/jacocoTest.exec') } + + sonarqube { + properties { + property "sonar.organization", "apollo-rsps" + property "sonar.projectKey", "apollo:org.apollo" + property "sonar.projectName", "Apollo RSPS" + property "sonar.kotlin.file.suffixes", ".kt,.kts" + property "sonar.jacoco.reportPaths", jacocoCoverageAggregate + } + } + + tasks["sonarqube"].dependsOn(jacocoMerge) } -tasks["sonarqube"].dependsOn(jacocoMerge) -