Update build scripts to work on Gradle 6.1

Removes the custom JaCoCo report aggregation code, which is now handled
automatically by Gradle.
This commit is contained in:
Gary Tierney
2020-02-06 00:04:13 +00:00
parent 0e91042428
commit 483d668d4e
4 changed files with 8 additions and 85 deletions
+1 -2
View File
@@ -19,15 +19,14 @@ allprojects {
apply from: 'gradle/properties.gradle'
apply from: 'gradle/code-quality.gradle'
apply from: 'gradle/testing.gradle'
apply from: 'gradle/wrapper.gradle'
apply plugin: "jacoco"
gradle.projectsEvaluated {
task check {
def deps = []
deps += getTasksByName("check", true).findAll { it.project != rootProject }
deps += "detekt"
deps += jacocoReport
dependsOn(deps)
}
+6 -1
View File
@@ -12,8 +12,13 @@ detekt {
parallel = true
}
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.kotlin.detekt.reportPaths", detektAggregateReport
}
}
}
-81
View File
@@ -1,81 +0,0 @@
apply plugin: "jacoco"
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"
jacoco {
toolVersion = '0.8.4'
}
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/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 {
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
}
}
}
+1 -1
View File
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-all.zip