@@ -3,6 +3,7 @@ package datadog.gradle.plugin.instrument
33import org.gradle.api.DefaultTask
44import org.gradle.api.Plugin
55import org.gradle.api.Project
6+ import org.gradle.api.Task
67import org.gradle.api.file.ConfigurableFileCollection
78import org.gradle.api.file.Directory
89import org.gradle.api.file.DirectoryProperty
@@ -17,6 +18,7 @@ import org.gradle.api.tasks.InputFiles
1718import org.gradle.api.tasks.Optional
1819import org.gradle.api.tasks.OutputDirectory
1920import org.gradle.api.tasks.TaskAction
21+ import org.gradle.api.tasks.TaskCollection
2022import org.gradle.api.tasks.compile.AbstractCompile
2123import org.gradle.jvm.toolchain.JavaLanguageVersion
2224import org.gradle.jvm.toolchain.JavaToolchainService
@@ -36,10 +38,13 @@ class InstrumentPlugin : Plugin<Project> {
3638 override fun apply (project : Project ) {
3739 val extension = project.extensions.create(" instrument" , InstrumentExtension ::class .java)
3840
39- project.tasks.matching {
41+ val tasks : TaskCollection < Task > = project.tasks.matching {
4042 it.name in listOf (" compileJava" , " compileScala" , " compileGroovy" ) ||
4143 it.name.matches(Regex (" compileMain_.+Java" ))
42- }.configureEach {
44+ }
45+
46+ // `all` can not be chained, as Kotlin choose to call method for collection, not for `TaskCollection`.
47+ tasks.all {
4348 val compileTask = this as AbstractCompile
4449 val versionRegex = Regex (" compileMain_(.+)Java" )
4550 val versionMatch = versionRegex.matchEntire(compileTask.name)
0 commit comments