From 4418eb4eba29c6badb5115ebf6636945b482f620 Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Tue, 19 Sep 2017 12:48:35 +0300 Subject: [PATCH] gradle-plugin: Rerun tasks if konan.home property is changes #KT-20193 Fixed --- .../org/jetbrains/kotlin/gradle/plugin/KonanCompileTask.kt | 7 +++++-- .../org/jetbrains/kotlin/gradle/plugin/KonanInteropTask.kt | 5 ++++- .../org/jetbrains/kotlin/gradle/plugin/KonanPlugin.kt | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanCompileTask.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanCompileTask.kt index 7fb9ce82479..478c35ee239 100644 --- a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanCompileTask.kt +++ b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanCompileTask.kt @@ -96,8 +96,11 @@ open class KonanCompileTask: KonanTargetableTask() { internal set @Input var dumpParameters: Boolean = false - // TODO: Is there a better way to rerun tasks when the compiler version changes? - @Input val konanVersion = project.konanVersion + + val konanVersion + @Input get() = project.konanVersion + val konanHome + @Input get() = project.konanHome // Task action ------------------------------------------------------------ diff --git a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanInteropTask.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanInteropTask.kt index 8ab29ccbeb2..42264c6a7d4 100644 --- a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanInteropTask.kt +++ b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanInteropTask.kt @@ -65,7 +65,10 @@ open class KonanInteropTask: KonanTargetableTask() { @InputFiles val headers = mutableSetOf() @InputFiles val linkFiles = mutableSetOf() - @Input val konanVersion = project.konanVersion + val konanVersion + @Input get() = project.konanVersion + val konanHome + @Input get() = project.konanHome @TaskAction fun exec() { diff --git a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanPlugin.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanPlugin.kt index eeeaeb7bd54..8639ba58d7c 100644 --- a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanPlugin.kt +++ b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KonanPlugin.kt @@ -47,7 +47,7 @@ internal fun Project.setProperty(property: KonanPlugin.ProjectProperty, value: A internal val Project.konanHome: String get() { assert(hasProperty(KonanPlugin.ProjectProperty.KONAN_HOME)) - return getProperty(KonanPlugin.ProjectProperty.KONAN_HOME).toString() + return project.file(getProperty(KonanPlugin.ProjectProperty.KONAN_HOME)).canonicalPath } internal val Project.konanBuildRoot get() = "${buildDir.canonicalPath}/konan"