From 615c316262e4cba2a37153f4e6ffe3cd45ea9f7d Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Fri, 3 Feb 2017 16:49:24 +0300 Subject: [PATCH] Kotlin Gradle Plugin: Postpone friend dependency collection until the actual compilation as it may cause an error during Gradle-IDEA project synchronization #KT-16174 Fixed --- .../jetbrains/kotlin/gradle/tasks/Tasks.kt | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) 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 25a503f08c3..ef716261f0c 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 @@ -322,6 +322,18 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(), override fun populateCompilerArguments(): K2JSCompilerArguments { val args = K2JSCompilerArguments().apply { fillDefaultValues() } args.outputFile = outputFile + kotlinOptionsImpl.updateArguments(args) + return args + } + + override fun getSourceRoots() = SourceRoots.KotlinOnly.create(getSource()) + + override fun callCompiler(args: K2JSCompilerArguments, sourceRoots: SourceRoots, changedFiles: ChangedFiles) { + sourceRoots as SourceRoots.KotlinOnly + + logger.debug("Calling compiler") + destinationDir.mkdirs() + args.freeArgs = args.freeArgs + sourceRoots.kotlinSourceFiles.map { it.absolutePath } val friendDependency = friendTaskName ?.let { project.getTasksByName(it, false).singleOrNull() as? Kotlin2JsCompile } @@ -340,19 +352,6 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(), null } - kotlinOptionsImpl.updateArguments(args) - return args - } - - override fun getSourceRoots() = SourceRoots.KotlinOnly.create(getSource()) - - override fun callCompiler(args: K2JSCompilerArguments, sourceRoots: SourceRoots, changedFiles: ChangedFiles) { - sourceRoots as SourceRoots.KotlinOnly - - logger.debug("Calling compiler") - destinationDir.mkdirs() - args.freeArgs = args.freeArgs + sourceRoots.kotlinSourceFiles.map { it.absolutePath } - logger.kotlinDebug("compiling with args ${ArgumentUtils.convertArgumentsToStringList(args)}") val messageCollector = GradleMessageCollector(logger)