@@ -43,23 +43,23 @@ private fun Project.createRootTask(
4343 excludePrefixes : List <String >,
4444 forceCoverage : Boolean
4545) {
46- val coverage = forceCoverage || rootProject.hasProperty (" checkCoverage" )
46+ val coverage = forceCoverage || rootProject.providers.gradleProperty (" checkCoverage" ).isPresent
4747 tasks.register(rootTaskName) {
4848 subprojects.forEach { subproject ->
4949 val activePartition = subproject.extra.get(" activePartition" ) as Boolean
5050 if (activePartition &&
5151 includePrefixes.any { subproject.path.startsWith(it) } &&
5252 ! excludePrefixes.any { subproject.path.startsWith(it) }) {
5353
54- val testTask = subproject.tasks.findByName(subProjTaskName)
55- var isAffected = true
56-
57- if (testTask != null ) {
54+ if (subProjTaskName in subproject.tasks.names) {
55+ val testTaskProvider = subproject.tasks.named(subProjTaskName)
56+ var isAffected = true
57+
5858 val useGitChanges = rootProject.extra.get(" useGitChanges" ) as Boolean
5959 if (useGitChanges) {
6060 @Suppress(" UNCHECKED_CAST" )
6161 val affectedProjects = rootProject.extra.get(" affectedProjects" ) as Map <Project , Set <String >>
62- val fileTrigger = isAffectedBy(testTask , affectedProjects)
62+ val fileTrigger = isAffectedBy(testTaskProvider.get() , affectedProjects)
6363 if (fileTrigger != null ) {
6464 logger.warn(" Selecting ${subproject.path} :$subProjTaskName (triggered by $fileTrigger )" )
6565 } else {
@@ -68,18 +68,16 @@ private fun Project.createRootTask(
6868 }
6969 }
7070 if (isAffected) {
71- dependsOn(testTask)
72- }
73- }
74-
75- if (isAffected && coverage) {
76- val coverageTask = subproject.tasks.findByName(" jacocoTestReport" )
77- if (coverageTask != null ) {
78- dependsOn(coverageTask)
71+ dependsOn(testTaskProvider)
7972 }
80- val verificationTask = subproject.tasks.findByName(" jacocoTestCoverageVerification" )
81- if (verificationTask != null ) {
82- dependsOn(verificationTask)
73+
74+ if (isAffected && coverage) {
75+ if (" jacocoTestReport" in subproject.tasks.names) {
76+ dependsOn(subproject.tasks.named(" jacocoTestReport" ))
77+ }
78+ if (" jacocoTestCoverageVerification" in subproject.tasks.names) {
79+ dependsOn(subproject.tasks.named(" jacocoTestCoverageVerification" ))
80+ }
8381 }
8482 }
8583 }
0 commit comments