Minor: extract class to separate file

This commit is contained in:
Natalia Selezneva
2020-04-23 15:40:19 +03:00
parent 25dc8b7766
commit 574f57e604
2 changed files with 37 additions and 28 deletions
@@ -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<String>,
val models: List<KotlinDslScriptModel>
)
class Configuration(val data: ConfigurationData) {
private val scripts: Map<String, KotlinDslScriptModel>
val sourcePath: MutableSet<String>
val classFilePath: MutableSet<String> = 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)]
}
}
@@ -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<String>,
val models: List<KotlinDslScriptModel>
)
class Configuration(val data: ConfigurationData) {
private val scripts: Map<String, KotlinDslScriptModel>
val sourcePath: MutableSet<String>
val classFilePath: MutableSet<String> = 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,