From 0303fc036cc3db9c480dccb31bdef9bde6d8caaa Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Thu, 27 Sep 2018 14:11:08 +0200 Subject: [PATCH] Fix gradle support for non-kts scripts when daemon is used --- .../org/jetbrains/kotlin/daemon/CompileServiceImpl.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt index b71283100d9..4db2aaf54c6 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt @@ -20,6 +20,7 @@ import com.intellij.openapi.Disposable import com.intellij.openapi.util.Disposer import com.intellij.openapi.vfs.impl.ZipHandler import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem +import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS import org.jetbrains.kotlin.build.JvmSourceRoot import org.jetbrains.kotlin.cli.common.CLICompiler import org.jetbrains.kotlin.cli.common.ExitCode @@ -559,6 +560,13 @@ class CompileServiceImpl( k2jvmArgs.commonSources = parsedModule.modules.flatMap { it.getCommonSourceFiles() }.toTypedArray().takeUnless { it.isEmpty() } val allKotlinFiles = parsedModule.modules.flatMap { it.getSourceFiles().map(::File) } + val allKotlinExtensions = ( + DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS + + allKotlinFiles.asSequence() + .map { it.extension } + .filter { !it.equals("java", ignoreCase = true) } + .asIterable() + ).distinct() k2jvmArgs.friendPaths = parsedModule.modules.flatMap(Module::getFriendPaths).toTypedArray() val changedFiles = if (incrementalCompilationOptions.areFileChangesKnown) { @@ -592,7 +600,8 @@ class CompileServiceImpl( buildHistoryFile = incrementalCompilationOptions.multiModuleICSettings.buildHistoryFile, localStateDirs = incrementalCompilationOptions.localStateDirs, usePreciseJavaTracking = incrementalCompilationOptions.usePreciseJavaTracking, - modulesApiHistory = modulesApiHistory + modulesApiHistory = modulesApiHistory, + kotlinSourceFilesExtensions = allKotlinExtensions ) return compiler.compile(allKotlinFiles, k2jvmArgs, compilerMessageCollector, changedFiles) }