From d51b17c1b2d5b24d7b085d2ed2c82aeb7fac73f5 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Tue, 28 Nov 2017 17:14:44 +0300 Subject: [PATCH] Fix @OutputFile annotation on a String property outputFile. --- .../org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt | 6 +++--- .../kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt | 9 ++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index aed088411bb..838b9197771 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -296,8 +296,8 @@ internal class Kotlin2JsSourceSetProcessor( val appliedPlugins = subpluginEnvironment.addSubpluginOptions( project, kotlinTask, kotlinTask, null, null, sourceSet) - kotlinTask.kotlinOptions.outputFile = File(kotlinTask.outputFile).absolutePath - val outputDir = File(kotlinTask.outputFile).parentFile + kotlinTask.kotlinOptions.outputFile = kotlinTask.outputFile.absolutePath + val outputDir = kotlinTask.outputFile.parentFile if (FileUtil.isAncestor(outputDir, project.rootDir, false)) throw InvalidUserDataException( @@ -323,7 +323,7 @@ internal class Kotlin2JsSourceSetProcessor( val task = project.tasks.create(taskName, Delete::class.java) task.onlyIf { kotlinTask.kotlinOptions.sourceMap } task.delete(object : Closure(this) { - override fun call(): String? = (kotlinTask.property("outputFile") as String) + ".map" + override fun call(): String? = (kotlinTask.property("outputFile") as File).canonicalPath + ".map" }) project.tasks.findByName("clean")?.dependsOn(taskName) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index ed249954fa6..8b67b687ad8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -445,8 +445,8 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(), @Suppress("unused") @get:OutputFile - val outputFile: String - get() = kotlinOptions.outputFile ?: defaultOutputFile.canonicalPath + val outputFile: File + get() = kotlinOptions.outputFile?.let(::File) ?: defaultOutputFile override fun findKotlinCompilerClasspath(project: Project): List = findKotlinJsCompilerClasspath(project) @@ -458,7 +458,7 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(), args.apply { fillDefaultValues() } super.setupCompilerArgs(args, defaultsOnly) - args.outputFile = outputFile + args.outputFile = outputFile.canonicalPath if (defaultsOnly) return @@ -472,8 +472,7 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(), internal val friendDependency get() = friendTaskName ?.let { project.getTasksByName(it, false).singleOrNull() as? Kotlin2JsCompile } - ?.outputFile - ?.let { File(it).parentFile } + ?.outputFile?.parentFile ?.let { if (LibraryUtils.isKotlinJavascriptLibrary(it)) it else null } ?.absolutePath