diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/Configuration.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/Configuration.kt new file mode 100644 index 00000000000..2a43c7c4f7e --- /dev/null +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/Configuration.kt @@ -0,0 +1,37 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.scripting.gradle + +import com.intellij.openapi.util.io.FileUtil +import com.intellij.openapi.vfs.VirtualFile +import org.jetbrains.kotlin.idea.scripting.gradle.importing.KotlinDslScriptModel + +data class ConfigurationData( + val templateClasspath: List, + val models: List +) + +class Configuration(val data: ConfigurationData) { + + private val scripts: Map + val sourcePath: MutableSet + + val classFilePath: MutableSet = mutableSetOf() + + init { + val allModels = data.models + + scripts = allModels.associateBy { it.file } + sourcePath = allModels.flatMapTo(mutableSetOf()) { it.sourcePath } + + classFilePath.addAll(data.templateClasspath) + allModels.flatMapTo(classFilePath) { it.classPath } + } + fun scriptModel(file: VirtualFile): KotlinDslScriptModel? { + return scripts[FileUtil.toSystemDependentName(file.path)] + } + +} \ No newline at end of file diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptingSupport.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptingSupport.kt index 93684dc4ee3..ab609e19b05 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptingSupport.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptingSupport.kt @@ -6,41 +6,13 @@ package org.jetbrains.kotlin.idea.scripting.gradle import com.intellij.openapi.project.Project -import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.idea.core.script.configuration.ScriptingSupport import org.jetbrains.kotlin.idea.core.script.configuration.listener.ScriptConfigurationUpdater import org.jetbrains.kotlin.idea.core.script.configuration.utils.ScriptClassRootsIndexer -import org.jetbrains.kotlin.idea.scripting.gradle.importing.KotlinDslScriptModel import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.scripting.resolve.ScriptCompilationConfigurationWrapper -data class ConfigurationData( - val templateClasspath: List, - val models: List -) - -class Configuration(val data: ConfigurationData) { - private val scripts: Map - - val sourcePath: MutableSet - val classFilePath: MutableSet = mutableSetOf() - - init { - val allModels = data.models - - scripts = allModels.associateBy { it.file } - sourcePath = allModels.flatMapTo(mutableSetOf()) { it.sourcePath } - - classFilePath.addAll(data.templateClasspath) - allModels.flatMapTo(classFilePath) { it.classPath } - } - - fun scriptModel(file: VirtualFile): KotlinDslScriptModel? { - return scripts[FileUtil.toSystemDependentName(file.path)] - } -} - class GradleScriptingSupport( private val rootsIndexer: ScriptClassRootsIndexer, val project: Project,