Fix gradle support for non-kts scripts when daemon is used

This commit is contained in:
Ilya Chernikov
2018-09-27 14:11:08 +02:00
parent bfa6d57e34
commit 0303fc036c
@@ -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)
}