@@ -7,6 +7,7 @@ import org.gradle.api.provider.Provider
77import org.gradle.api.tasks.JavaExec
88import org.gradle.api.tasks.TaskProvider
99import org.gradle.api.tasks.testing.Test
10+ import org.gradle.process.CommandLineArgumentProvider
1011import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
1112import java.io.File
1213
@@ -37,7 +38,10 @@ abstract class KctfExtension(private val project: Project) {
3738 project.file(" src/test/java" ).relativeTo(project.rootDir).path
3839 },
3940 root = project.provider { project.rootDir.absolutePath },
40- )
41+ ).configure {
42+ // Why is this needed? output.classesDirs above should carry task dependencies.
43+ it.dependsOn(" compileTestKotlin" )
44+ }
4145
4246 project.tasks.named(" test" ).configure {
4347 it as Test
@@ -65,7 +69,7 @@ internal fun Project.registerKctfGenerateSourcesTask(
6569 */
6670 return tasks.register(taskName, JavaExec ::class .java) {
6771 it.classpath(configuration)
68- it.setArgs(
72+ it.argumentProviders.add( CommandLineArgumentProvider {
6973 listOf (
7074 " --test-classes-dirs" ,
7175 testClassesDirs.joinToString(File .pathSeparator),
@@ -74,7 +78,7 @@ internal fun Project.registerKctfGenerateSourcesTask(
7478 " --output-directory-relative-to-root" ,
7579 outputDirectoryRelativeToRoot.get(),
7680 )
77- )
81+ } )
7882 it.mainClass.set(" kctf.MainKt" )
7983 it.workingDir(root.get())
8084 }
0 commit comments