[Gradle] Use FileCollection instead lambda + lazy in KotlinNativeToolRunner

FileCollection is lazy on its own.
This commit is contained in:
Anton Lakotka
2022-06-27 12:48:06 +02:00
committed by Space
parent 1af804c897
commit d086fedffc
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.compilerRunner package org.jetbrains.kotlin.compilerRunner
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.file.FileCollection
import org.gradle.api.tasks.* import org.gradle.api.tasks.*
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind
@@ -69,22 +70,16 @@ internal abstract class KotlinNativeToolRunner(
val konanPropertiesFile: File, val konanPropertiesFile: File,
@get:Input @get:Input
val jvmArgs: List<String>, val jvmArgs: List<String>,
classpathProvider: () -> Set<File>,
) {
@get:Classpath @get:Classpath
val classpath by lazy(classpathProvider) val classpath: FileCollection
) {
constructor(project: Project) : this( constructor(project: Project) : this(
konanVersion = project.konanVersion, konanVersion = project.konanVersion,
konanHome = project.konanHome, konanHome = project.konanHome,
konanPropertiesFile = project.file("${project.konanHome}/konan/konan.properties"), konanPropertiesFile = project.file("${project.konanHome}/konan/konan.properties"),
jvmArgs = project.jvmArgs, jvmArgs = project.jvmArgs,
classpathProvider = { classpath = project.files(project.kotlinNativeCompilerJar, "${project.konanHome}/konan/lib/trove4j.jar")
project.files(
project.kotlinNativeCompilerJar,
"${project.konanHome}/konan/lib/trove4j.jar"
).files
}
) )
} }
@@ -115,7 +110,7 @@ internal abstract class KotlinNativeToolRunner(
).toMap() ).toMap()
} }
final override val classpath get() = settings.classpath final override val classpath get() = settings.classpath.files
final override fun checkClasspath() = final override fun checkClasspath() =
check(classpath.isNotEmpty()) { check(classpath.isNotEmpty()) {