Skip to content

Commit 0a7f09d

Browse files
committed
Make ci-jobs plugin lazy
1 parent ba8ce97 commit 0a7f09d

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

buildSrc/src/main/kotlin/datadog.ci-jobs.gradle.kts

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ import kotlin.math.abs
1212
allprojects {
1313
extra.set("activePartition", true)
1414

15-
val shouldUseTaskPartitions = rootProject.hasProperty("taskPartitionCount") && rootProject.hasProperty("taskPartition")
16-
if (shouldUseTaskPartitions) {
17-
val taskPartitionCount = rootProject.property("taskPartitionCount") as String
18-
val taskPartition = rootProject.property("taskPartition") as String
15+
val taskPartitionCountProvider = rootProject.providers.gradleProperty("taskPartitionCount")
16+
val taskPartitionProvider = rootProject.providers.gradleProperty("taskPartition")
17+
if (taskPartitionCountProvider.isPresent && taskPartitionProvider.isPresent) {
18+
val taskPartitionCount = taskPartitionCountProvider.get()
19+
val taskPartition = taskPartitionProvider.get()
1920
val currentTaskPartition = abs(project.path.hashCode() % taskPartitionCount.toInt())
2021
extra.set("activePartition", currentTaskPartition == taskPartition.toInt())
2122
}
@@ -47,13 +48,10 @@ fun getChangedFiles(baseRef: String, newRef: String): List<File> {
4748
// Initialize git change tracking
4849
rootProject.extra.set("useGitChanges", false)
4950

50-
if (rootProject.hasProperty("gitBaseRef")) {
51-
val baseRef = rootProject.property("gitBaseRef") as String
52-
val newRef = if (rootProject.hasProperty("gitNewRef")) {
53-
rootProject.property("gitNewRef") as String
54-
} else {
55-
"HEAD"
56-
}
51+
val gitBaseRefProvider = rootProject.providers.gradleProperty("gitBaseRef")
52+
if (gitBaseRefProvider.isPresent) {
53+
val baseRef = gitBaseRefProvider.get()
54+
val newRef = rootProject.providers.gradleProperty("gitNewRef").orElse("HEAD").get()
5755

5856
val changedFiles = getChangedFiles(baseRef, newRef)
5957
rootProject.extra.set("changedFiles", changedFiles)
@@ -124,9 +122,10 @@ if (rootProject.hasProperty("gitBaseRef")) {
124122
}
125123

126124
tasks.register("runMuzzle") {
127-
val muzzleSubprojects = subprojects.filter { p ->
128-
val activePartition = p.extra.get("activePartition") as Boolean
129-
activePartition && p.plugins.hasPlugin("java") && p.plugins.hasPlugin("muzzle")
130-
}
131-
dependsOn(muzzleSubprojects.map { p -> "${p.path}:muzzle" })
125+
dependsOn(providers.provider {
126+
subprojects.filter { p ->
127+
val activePartition = p.extra.get("activePartition") as Boolean
128+
activePartition && p.plugins.hasPlugin("java") && p.plugins.hasPlugin("muzzle")
129+
}.map { p -> "${p.path}:muzzle" }
130+
})
132131
}

0 commit comments

Comments
 (0)