From 4368ad2b1ca53f6fb0afbec1df20296ef1a72221 Mon Sep 17 00:00:00 2001 From: Leonid Startsev Date: Mon, 13 Aug 2018 13:16:57 +0300 Subject: [PATCH] Review fixes: prohibit setting classpath, use lazy provider for destination dir --- .../experimental/plugins/KotlinNativeBasePlugin.kt | 1 + .../plugin/experimental/tasks/KotlinNativeCompile.kt | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/plugins/KotlinNativeBasePlugin.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/plugins/KotlinNativeBasePlugin.kt index 18dffb058ab..db463588a1b 100644 --- a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/plugins/KotlinNativeBasePlugin.kt +++ b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/plugins/KotlinNativeBasePlugin.kt @@ -34,6 +34,7 @@ import org.gradle.util.GradleVersion import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.experimental.* +import org.jetbrains.kotlin.gradle.plugin.experimental.CInteropSettings import org.jetbrains.kotlin.gradle.plugin.experimental.internal.* import org.jetbrains.kotlin.gradle.plugin.experimental.tasks.CInteropTask import org.jetbrains.kotlin.gradle.plugin.experimental.tasks.KotlinNativeCompile diff --git a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/tasks/KotlinNativeCompile.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/tasks/KotlinNativeCompile.kt index 54a7341eef8..4a49c4ee82f 100644 --- a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/tasks/KotlinNativeCompile.kt +++ b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/tasks/KotlinNativeCompile.kt @@ -56,6 +56,12 @@ open class KotlinNativeCompile @Inject constructor(internal val binary: Abstract val libraries: Configuration @InputFiles get() = binary.klibraries + override fun getClasspath(): FileCollection = libraries + + override fun setClasspath(configuration: FileCollection?) { + throw UnsupportedOperationException("Use klibraries to set compile classpath in Kotlin/Native") + } + val optimized: Boolean @Input get() = binary.optimized val debuggable: Boolean @Input get() = binary.debuggable @@ -114,8 +120,10 @@ open class KotlinNativeCompile @Inject constructor(internal val binary: Abstract // initializing AbstractCompile properties init { - classpath = libraries - destinationDir = if (outputFile.isDirectory) outputFile else outputFile.parentFile + @Suppress("LeakingThis") + setDestinationDir(project.provider { + if (outputFile.isDirectory) outputFile else outputFile.parentFile + }) sourceCompatibility = "1.6" targetCompatibility = "1.6" }