diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index 213dca2a06f..f65140d6cfd 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -1,6 +1,5 @@ -import java.io.File -import org.gradle.api.tasks.bundling.Jar import org.jetbrains.kotlin.gradle.dsl.KotlinCompile +import java.io.File plugins { kotlin("jvm") @@ -51,7 +50,7 @@ dependencies { testCompile(projectTests(":generators:test-generator")) testCompile(project(":compiler:ir.ir2cfg")) testCompile(project(":compiler:ir.tree")) // used for deepCopyWithSymbols call that is removed by proguard from the compiler TODO: make it more straightforward - testCompile(project(":kotlin-scripting-compiler-impl")) + testCompile(project(":kotlin-scripting-compiler")) testCompile(project(":kotlin-script-util")) testCompileOnly(projectRuntimeJar(":kotlin-daemon-client-new")) testCompileOnly(project(":kotlin-reflect-api")) diff --git a/compiler/tests-java8/build.gradle.kts b/compiler/tests-java8/build.gradle.kts index 110fdd7f7d2..1e19b9f3a65 100644 --- a/compiler/tests-java8/build.gradle.kts +++ b/compiler/tests-java8/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } dependencies { - testCompile(project(":kotlin-scripting-compiler-impl")) + testCompile(project(":kotlin-scripting-compiler")) testCompile(projectTests(":compiler:tests-common")) testCompileOnly(intellijCoreDep()) { includeJars("intellij-core") } testCompile(projectTests(":generators:test-generator")) diff --git a/compiler/tests-java8/tests/org/jetbrains/kotlin/jvm/repl/ReplCompilerJava8Test.kt b/compiler/tests-java8/tests/org/jetbrains/kotlin/jvm/repl/ReplCompilerJava8Test.kt index 67cda93857d..c002b0c8053 100644 --- a/compiler/tests-java8/tests/org/jetbrains/kotlin/jvm/repl/ReplCompilerJava8Test.kt +++ b/compiler/tests-java8/tests/org/jetbrains/kotlin/jvm/repl/ReplCompilerJava8Test.kt @@ -30,9 +30,9 @@ import org.jetbrains.kotlin.config.JVMConfigurationKeys import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.integration.KotlinIntegrationTestBase import org.jetbrains.kotlin.script.loadScriptingPlugin +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplCompiler +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.KOTLIN_REPL_JVM_TARGET_PROPERTY import org.jetbrains.kotlin.scripting.definitions.StandardScriptDefinition -import org.jetbrains.kotlin.scripting.repl.GenericReplCompiler -import org.jetbrains.kotlin.scripting.repl.KOTLIN_REPL_JVM_TARGET_PROPERTY import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.TestJdkKind diff --git a/compiler/tests/org/jetbrains/kotlin/cli/jvm/repl/GenericReplTest.kt b/compiler/tests/org/jetbrains/kotlin/cli/jvm/repl/GenericReplTest.kt index c61c310c81a..3dcce09d1bf 100644 --- a/compiler/tests/org/jetbrains/kotlin/cli/jvm/repl/GenericReplTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/cli/jvm/repl/GenericReplTest.kt @@ -27,8 +27,8 @@ import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.integration.KotlinIntegrationTestBase import org.jetbrains.kotlin.script.loadScriptingPlugin +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplCompiler import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition -import org.jetbrains.kotlin.scripting.repl.GenericReplCompiler import org.jetbrains.kotlin.scripting.resolve.KotlinScriptDefinitionFromAnnotatedTemplate import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.KotlinTestUtils diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/AbstractCustomScriptCodegenTest.kt b/compiler/tests/org/jetbrains/kotlin/codegen/AbstractCustomScriptCodegenTest.kt index 33e0f000277..96c5b16e9bd 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/AbstractCustomScriptCodegenTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/codegen/AbstractCustomScriptCodegenTest.kt @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.script.loadScriptingPlugin -import org.jetbrains.kotlin.scripting.configuration.configureScriptDefinitions +import org.jetbrains.kotlin.scripting.compiler.plugin.configureScriptDefinitions import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.InTextDirectivesUtils import org.jetbrains.kotlin.test.TestJdkKind diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/CustomScriptCodegenTest.kt b/compiler/tests/org/jetbrains/kotlin/codegen/CustomScriptCodegenTest.kt index 3afd882b7be..8da67c3abc3 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/CustomScriptCodegenTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/codegen/CustomScriptCodegenTest.kt @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.script.loadScriptingPlugin -import org.jetbrains.kotlin.scripting.configuration.configureScriptDefinitions +import org.jetbrains.kotlin.scripting.compiler.plugin.configureScriptDefinitions import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.TestJdkKind import org.jetbrains.kotlin.utils.PathUtil diff --git a/compiler/tests/org/jetbrains/kotlin/repl/AbstractReplInterpreterTest.kt b/compiler/tests/org/jetbrains/kotlin/repl/AbstractReplInterpreterTest.kt index 2720e83954d..574436cf934 100644 --- a/compiler/tests/org/jetbrains/kotlin/repl/AbstractReplInterpreterTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/repl/AbstractReplInterpreterTest.kt @@ -19,8 +19,8 @@ package org.jetbrains.kotlin.repl import com.intellij.openapi.util.text.StringUtil import org.jetbrains.kotlin.cli.common.repl.ReplEvalResult import org.jetbrains.kotlin.script.loadScriptingPlugin -import org.jetbrains.kotlin.scripting.repl.ReplInterpreter -import org.jetbrains.kotlin.scripting.repl.configuration.ConsoleReplConfiguration +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplInterpreter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration.ConsoleReplConfiguration import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.TestJdkKind diff --git a/idea/build.gradle.kts b/idea/build.gradle.kts index b570bbc24dc..9f344732b30 100644 --- a/idea/build.gradle.kts +++ b/idea/build.gradle.kts @@ -58,7 +58,6 @@ dependencies { compile(project(":core:descriptors")) compile(project(":core:descriptors.jvm")) compile(project(":compiler:backend")) - compile(project(":compiler:cli-common")) compile(project(":compiler:frontend")) compile(project(":compiler:frontend.common")) compile(project(":compiler:frontend.java")) diff --git a/idea/kotlin-gradle-tooling/build.gradle.kts b/idea/kotlin-gradle-tooling/build.gradle.kts index e0631dc48ce..f561487fd40 100644 --- a/idea/kotlin-gradle-tooling/build.gradle.kts +++ b/idea/kotlin-gradle-tooling/build.gradle.kts @@ -8,7 +8,6 @@ plugins { dependencies { compile(kotlinStdlib()) - compile(project(":compiler:cli-common")) compile(intellijPluginDep("gradle")) compileOnly(intellijDep()) { includeJars("slf4j-api-1.7.25") } } diff --git a/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt b/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt index c22f19df649..9a2c1fd37cd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt @@ -8,14 +8,11 @@ package org.jetbrains.kotlin.idea.script import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.extensions.Extensions import com.intellij.openapi.project.Project -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity -import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionSourceAsContributor import org.jetbrains.kotlin.idea.core.script.loadDefinitionsFromTemplates import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition import org.jetbrains.kotlin.scripting.definitions.ScriptDefinitionsFromClasspathDiscoverySource -import org.jetbrains.kotlin.scripting.definitions.reporter +import kotlin.script.experimental.api.ScriptDiagnostic import kotlin.script.experimental.intellij.ScriptDefinitionsProvider import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration @@ -25,7 +22,6 @@ class BridgeScriptDefinitionsContributor(private val project: Project) : ScriptD override val definitions: Sequence get() { val extensions = Extensions.getArea(project).getExtensionPoint(ScriptDefinitionsProvider.EP_NAME).extensions - val messageCollector = LoggingMessageCollector() return extensions.asSequence().flatMap { provider -> val explicitClasses = provider.getDefinitionClasses().toList() val classPath = provider.getDefinitionsClassPath().toList() @@ -38,33 +34,20 @@ class BridgeScriptDefinitionsContributor(private val project: Project) : ScriptD else ScriptDefinitionsFromClasspathDiscoverySource( classPath, hostConfiguration, - messageCollector.reporter + ::loggingReporter ).definitions explicitDefinitions + discoveredDefinitions } } } -private class LoggingMessageCollector : MessageCollector { - - private val log = Logger.getInstance("ScriptDefinitionsProviders") - - private var hasErrors = false - - override fun clear() { - hasErrors = false +fun loggingReporter(severity: ScriptDiagnostic.Severity, message: String) { + val log = Logger.getInstance("ScriptDefinitionsProviders") + when (severity) { + ScriptDiagnostic.Severity.FATAL, + ScriptDiagnostic.Severity.ERROR -> log.error(message) + ScriptDiagnostic.Severity.WARNING, + ScriptDiagnostic.Severity.INFO -> log.info(message) } - - override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { - when (severity) { - CompilerMessageSeverity.ERROR, CompilerMessageSeverity.EXCEPTION -> { - log.error(message) - hasErrors = true - } - CompilerMessageSeverity.WARNING, CompilerMessageSeverity.STRONG_WARNING -> log.warn(message) - else -> log.info(message) - } - } - - override fun hasErrors(): Boolean = hasErrors } + diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts index b3c375e7312..ab7eb634fad 100644 --- a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts @@ -44,7 +44,7 @@ dependencies { compileOnly(project(":kotlin-compiler-runner")) compileOnly(project(":kotlin-annotation-processing")) compileOnly(project(":kotlin-annotation-processing-gradle")) - compileOnly(project(":kotlin-scripting-compiler-impl")) + compileOnly(project(":kotlin-scripting-compiler")) compile("com.google.code.gson:gson:${rootProject.extra["versions.jar.gson"]}") compile("de.undercouch:gradle-download-task:3.4.3") diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt index 9de6e47d6c7..264767da86c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt @@ -24,8 +24,8 @@ import org.jetbrains.kotlin.gradle.scripting.ScriptingExtension import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.useLazyTaskConfiguration import org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast +import org.jetbrains.kotlin.scripting.compiler.plugin.impl.reporter import org.jetbrains.kotlin.scripting.definitions.ScriptDefinitionsFromClasspathDiscoverySource -import org.jetbrains.kotlin.scripting.definitions.reporter import java.io.File import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/ExecuteKotlinScriptMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/ExecuteKotlinScriptMojo.java index ef8d8c854dd..9050707c2aa 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/ExecuteKotlinScriptMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/ExecuteKotlinScriptMojo.java @@ -49,15 +49,14 @@ import org.jetbrains.kotlin.config.CompilerConfiguration; import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.KtScript; +import org.jetbrains.kotlin.scripting.compiler.plugin.ConfigurationKt; import org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar; -import org.jetbrains.kotlin.scripting.configuration.ConfigurationKt; import org.jetbrains.kotlin.utils.ParametersMapKt; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; diff --git a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmLocalScriptEngine.kt b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmLocalScriptEngine.kt index c1cf2e99aa5..aeb8810feb1 100644 --- a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmLocalScriptEngine.kt +++ b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmLocalScriptEngine.kt @@ -24,8 +24,8 @@ import org.jetbrains.kotlin.cli.jvm.config.addJvmSdkRoots import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplCompiler import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition -import org.jetbrains.kotlin.scripting.repl.GenericReplCompiler import org.jetbrains.kotlin.scripting.resolve.KotlinScriptDefinitionFromAnnotatedTemplate import org.jetbrains.kotlin.utils.PathUtil import java.io.File diff --git a/plugins/scripting/scripting-compiler-impl/build.gradle.kts b/plugins/scripting/scripting-compiler-impl/build.gradle.kts index 5bcefc57bc2..d6d48fb344b 100644 --- a/plugins/scripting/scripting-compiler-impl/build.gradle.kts +++ b/plugins/scripting/scripting-compiler-impl/build.gradle.kts @@ -11,7 +11,6 @@ dependencies { compileOnly(project(":compiler:frontend.java")) compileOnly(project(":compiler:psi")) compileOnly(project(":compiler:plugin-api")) - compileOnly(project(":compiler:cli")) compile(project(":kotlin-scripting-common")) compile(project(":kotlin-scripting-jvm")) compile(kotlinStdlib()) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/LazyScriptDefinitionFromDiscoveredClass.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/LazyScriptDefinitionFromDiscoveredClass.kt index 6661bae16c4..d144a92baa3 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/LazyScriptDefinitionFromDiscoveredClass.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/LazyScriptDefinitionFromDiscoveredClass.kt @@ -5,19 +5,14 @@ package org.jetbrains.kotlin.scripting.definitions -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import java.io.File import kotlin.script.experimental.annotations.KotlinScript -import kotlin.script.experimental.api.KotlinType -import kotlin.script.experimental.api.ScriptCompilationConfiguration -import kotlin.script.experimental.api.ScriptEvaluationConfiguration -import kotlin.script.experimental.api.fileExtension +import kotlin.script.experimental.api.* import kotlin.script.experimental.host.ScriptingHostConfiguration import kotlin.script.experimental.host.configurationDependencies import kotlin.script.experimental.host.createCompilationConfigurationFromTemplate import kotlin.script.experimental.host.createEvaluationConfigurationFromTemplate import kotlin.script.experimental.jvm.JvmDependency -import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration class LazyScriptDefinitionFromDiscoveredClass internal constructor( baseHostConfiguration: ScriptingHostConfiguration, @@ -43,7 +38,7 @@ class LazyScriptDefinitionFromDiscoveredClass internal constructor( private val configurations by lazy(LazyThreadSafetyMode.PUBLICATION) { messageReporter( - CompilerMessageSeverity.LOGGING, + ScriptDiagnostic.Severity.DEBUG, "Configure scripting: loading script definition class $className using classpath $classpath\n. ${Thread.currentThread().stackTrace}" ) try { @@ -61,11 +56,11 @@ class LazyScriptDefinitionFromDiscoveredClass internal constructor( ) compileCfg to evalCfg } catch (ex: ClassNotFoundException) { - messageReporter(CompilerMessageSeverity.ERROR, "Cannot find script definition class $className") + messageReporter(ScriptDiagnostic.Severity.ERROR, "Cannot find script definition class $className") InvalidScriptDefinition } catch (ex: Exception) { messageReporter( - CompilerMessageSeverity.ERROR, + ScriptDiagnostic.Severity.ERROR, "Error processing script definition class $className: ${ex.message}\nclasspath:\n${classpath.joinToString("\n", " ")}" ) InvalidScriptDefinition diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt index 29979b8afc0..f7a3d7fd2d9 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt +++ b/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt @@ -5,8 +5,6 @@ package org.jetbrains.kotlin.scripting.definitions -import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity -import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.scripting.resolve.KotlinScriptDefinitionFromAnnotatedTemplate import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import java.io.File @@ -14,21 +12,14 @@ import java.io.IOException import java.net.URLClassLoader import java.util.jar.JarFile import kotlin.script.experimental.annotations.KotlinScript -import kotlin.script.experimental.api.KotlinType +import kotlin.script.experimental.api.ScriptDiagnostic import kotlin.script.experimental.host.ScriptingHostConfiguration -import kotlin.script.experimental.host.createCompilationConfigurationFromTemplate -import kotlin.script.experimental.host.createEvaluationConfigurationFromTemplate import kotlin.script.templates.ScriptTemplateDefinition const val SCRIPT_DEFINITION_MARKERS_PATH = "META-INF/kotlin/script/templates/" const val SCRIPT_DEFINITION_MARKERS_EXTENSION_WITH_DOT = ".classname" -typealias MessageReporter = (CompilerMessageSeverity, String) -> Unit - -val MessageCollector.reporter: MessageReporter - get() = { severity, message -> - this.report(severity, message) - } +typealias MessageReporter = (ScriptDiagnostic.Severity, String) -> Unit class ScriptDefinitionsFromClasspathDiscoverySource( private val classpath: List, @@ -107,7 +98,7 @@ private fun scriptTemplatesDiscoverySequence( ) if (notFoundClasses.isNotEmpty()) { messageReporter( - CompilerMessageSeverity.STRONG_WARNING, + ScriptDiagnostic.Severity.WARNING, "Configure scripting: unable to find script definitions [${notFoundClasses.joinToString(", ")}]" ) } @@ -131,12 +122,12 @@ private fun scriptTemplatesDiscoverySequence( } else -> { // assuming that invalid classpath entries will be reported elsewhere anyway, so do not spam user with additional warnings here - messageReporter(CompilerMessageSeverity.LOGGING, "Configure scripting: Unknown classpath entry $dep") + messageReporter(ScriptDiagnostic.Severity.DEBUG, "Configure scripting: Unknown classpath entry $dep") } } } catch (e: IOException) { messageReporter( - CompilerMessageSeverity.STRONG_WARNING, "Configure scripting: unable to process classpath entry $dep: $e" + ScriptDiagnostic.Severity.WARNING, "Configure scripting: unable to process classpath entry $dep: $e" ) } } @@ -152,13 +143,13 @@ private fun scriptTemplatesDiscoverySequence( remainingDefinitionCandidates = notFoundDefinitions } catch (e: IOException) { messageReporter( - CompilerMessageSeverity.STRONG_WARNING, "Configure scripting: unable to process classpath entry $dep: $e" + ScriptDiagnostic.Severity.WARNING, "Configure scripting: unable to process classpath entry $dep: $e" ) } } if (remainingDefinitionCandidates.isNotEmpty()) { messageReporter( - CompilerMessageSeverity.STRONG_WARNING, + ScriptDiagnostic.Severity.WARNING, "The following script definitions are not found in the classpath: [${remainingDefinitionCandidates.joinToString()}]" ) } @@ -207,7 +198,7 @@ fun loadScriptTemplatesFromClasspath( } else -> { // assuming that invalid classpath entries will be reported elsewhere anyway, so do not spam user with additional warnings here - messageReporter(CompilerMessageSeverity.LOGGING, "Configure scripting: Unknown classpath entry $dep") + messageReporter(ScriptDiagnostic.Severity.DEBUG, "Configure scripting: Unknown classpath entry $dep") DefinitionsLoadPartitionResult( listOf(), remainingTemplates @@ -222,7 +213,7 @@ fun loadScriptTemplatesFromClasspath( } } catch (e: IOException) { messageReporter( - CompilerMessageSeverity.STRONG_WARNING, + ScriptDiagnostic.Severity.WARNING, "Configure scripting: unable to process classpath entry $dep: $e" ) } @@ -230,7 +221,7 @@ fun loadScriptTemplatesFromClasspath( if (remainingTemplates.isNotEmpty()) { messageReporter( - CompilerMessageSeverity.STRONG_WARNING, + ScriptDiagnostic.Severity.WARNING, "Configure scripting: unable to find script definition classes: ${remainingTemplates.joinToString(", ")}" ) } @@ -319,14 +310,14 @@ private fun loadScriptDefinition( } if (def != null) { messageReporter( - CompilerMessageSeverity.LOGGING, + ScriptDiagnostic.Severity.DEBUG, "Configure scripting: Added template $templateClassName from ${classpathWithLoader.classpath}" ) return def } } messageReporter( - CompilerMessageSeverity.STRONG_WARNING, + ScriptDiagnostic.Severity.WARNING, "Configure scripting: $templateClassName is not marked with any known kotlin script annotation" ) return null @@ -347,7 +338,7 @@ private fun loadScriptDefinition( ScriptDefinition.FromLegacyTemplate(hostConfiguration, cls.kotlin) } messageReporter( - CompilerMessageSeverity.INFO, + ScriptDiagnostic.Severity.INFO, "Added script definition $template to configuration: name = ${def.name}" ) return def @@ -356,7 +347,7 @@ private fun loadScriptDefinition( } catch (ex: Exception) { // other exceptions - might be an error messageReporter( - CompilerMessageSeverity.STRONG_WARNING, + ScriptDiagnostic.Severity.WARNING, "Error on loading script definition $template: ${ex.message}" ) } diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/JvmCliReplShellExtension.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/JvmCliReplShellExtension.kt index 185cb4e5af1..132605e84fe 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/JvmCliReplShellExtension.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/JvmCliReplShellExtension.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.extensions.ShellExtension import org.jetbrains.kotlin.config.CompilerConfiguration -import org.jetbrains.kotlin.scripting.repl.ReplFromTerminal +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplFromTerminal class JvmCliReplShellExtension : ShellExtension { diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCommandLineProcessor.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCommandLineProcessor.kt index 8900cf02159..1c46da6fe38 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCommandLineProcessor.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCommandLineProcessor.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfigurationKey import org.jetbrains.kotlin.config.JVMConfigurationKeys -import org.jetbrains.kotlin.scripting.configuration.KOTLIN_SCRIPTING_PLUGIN_ID import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys import java.io.File diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt index f5e0582a8ec..f100954fbc1 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt @@ -16,9 +16,12 @@ import org.jetbrains.kotlin.config.JVMConfigurationKeys import org.jetbrains.kotlin.extensions.CompilerConfigurationExtension import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.CliScriptDefinitionProvider +import org.jetbrains.kotlin.scripting.compiler.plugin.impl.reporter import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys -import org.jetbrains.kotlin.scripting.configuration.configureScriptDefinitions -import org.jetbrains.kotlin.scripting.definitions.* +import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition +import org.jetbrains.kotlin.scripting.definitions.ScriptDefinitionProvider +import org.jetbrains.kotlin.scripting.definitions.ScriptDefinitionsFromClasspathDiscoverySource +import org.jetbrains.kotlin.scripting.definitions.getEnvironment import java.io.File import kotlin.script.experimental.host.ScriptingHostConfiguration diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/configuration/configuration.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/configuration.kt similarity index 88% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/configuration/configuration.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/configuration.kt index ff2092a17ee..1e06fa2a181 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/configuration/configuration.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/configuration.kt @@ -3,14 +3,15 @@ * 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.scripting.configuration +package org.jetbrains.kotlin.scripting.compiler.plugin import com.intellij.openapi.project.Project import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.scripting.compiler.plugin.impl.reporter +import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys import org.jetbrains.kotlin.scripting.definitions.loadScriptTemplatesFromClasspath -import org.jetbrains.kotlin.scripting.definitions.reporter import kotlin.script.experimental.host.ScriptingHostConfiguration import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/dependencies/ScriptsCompilationDependencies.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/dependencies/ScriptsCompilationDependencies.kt similarity index 98% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/dependencies/ScriptsCompilationDependencies.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/dependencies/ScriptsCompilationDependencies.kt index 72703cd30fe..b36a43ba3dd 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/dependencies/ScriptsCompilationDependencies.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/dependencies/ScriptsCompilationDependencies.kt @@ -3,7 +3,7 @@ * 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.scripting.dependencies +package org.jetbrains.kotlin.scripting.compiler.plugin.dependencies import com.intellij.openapi.project.Project import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/extensions/JvmStandardReplFactoryExtension.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/extensions/JvmStandardReplFactoryExtension.kt similarity index 93% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/extensions/JvmStandardReplFactoryExtension.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/extensions/JvmStandardReplFactoryExtension.kt index 95c88d4f898..66650ed7106 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/extensions/JvmStandardReplFactoryExtension.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/extensions/JvmStandardReplFactoryExtension.kt @@ -3,15 +3,15 @@ * 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.scripting.extensions +package org.jetbrains.kotlin.scripting.compiler.plugin.extensions import com.intellij.core.JavaCoreProjectEnvironment import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.extensions.ReplFactoryExtension import org.jetbrains.kotlin.cli.common.repl.ReplCompiler import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplCompiler import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition -import org.jetbrains.kotlin.scripting.repl.GenericReplCompiler import org.jetbrains.kotlin.scripting.resolve.KotlinScriptDefinitionFromAnnotatedTemplate import java.io.File import java.net.URLClassLoader diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/extensions/ScriptingCollectAdditionalSourcesExtension.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/extensions/ScriptingCollectAdditionalSourcesExtension.kt similarity index 86% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/extensions/ScriptingCollectAdditionalSourcesExtension.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/extensions/ScriptingCollectAdditionalSourcesExtension.kt index 1656373ec88..bc02e378e3f 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/extensions/ScriptingCollectAdditionalSourcesExtension.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/extensions/ScriptingCollectAdditionalSourcesExtension.kt @@ -3,7 +3,7 @@ * 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.scripting.extensions +package org.jetbrains.kotlin.scripting.compiler.plugin.extensions import com.intellij.mock.MockProject import com.intellij.openapi.project.Project @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.extensions.CollectAdditionalSourcesExtension import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.scripting.dependencies.collectScriptsCompilationDependencies +import org.jetbrains.kotlin.scripting.compiler.plugin.dependencies.collectScriptsCompilationDependencies class ScriptingCollectAdditionalSourcesExtension(val project: MockProject) : CollectAdditionalSourcesExtension { override fun collectAdditionalSourcesAndUpdateConfiguration( diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerImpl.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerImpl.kt index d39a0b884da..d08f5ed3f79 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerImpl.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/KJvmReplCompilerImpl.kt @@ -21,8 +21,8 @@ import org.jetbrains.kotlin.codegen.state.GenerationState import org.jetbrains.kotlin.descriptors.ScriptDescriptor import org.jetbrains.kotlin.scripting.compiler.plugin.repl.JvmReplCompilerState import org.jetbrains.kotlin.scripting.compiler.plugin.repl.KJvmReplCompilerProxy +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplCodeAnalyzer import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider -import org.jetbrains.kotlin.scripting.repl.ReplCodeAnalyzer import kotlin.script.experimental.api.* import kotlin.script.experimental.host.ScriptingHostConfiguration diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt index 08259d68452..657e51e7ee1 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt @@ -25,11 +25,11 @@ import org.jetbrains.kotlin.config.JVMConfigurationKeys import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar +import org.jetbrains.kotlin.scripting.compiler.plugin.dependencies.ScriptsCompilationDependencies +import org.jetbrains.kotlin.scripting.compiler.plugin.dependencies.collectScriptsCompilationDependencies import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider -import org.jetbrains.kotlin.scripting.dependencies.ScriptsCompilationDependencies -import org.jetbrains.kotlin.scripting.dependencies.collectScriptsCompilationDependencies import kotlin.script.experimental.api.ScriptCompilationConfiguration import kotlin.script.experimental.api.compilerOptions import kotlin.script.experimental.api.dependencies diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt index be3bcfbab61..01ac4e5ba99 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/errorReporting.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector +import org.jetbrains.kotlin.scripting.definitions.MessageReporter import kotlin.reflect.KMutableProperty1 import kotlin.reflect.full.findAnnotation import kotlin.script.experimental.api.ResultWithDiagnostics @@ -32,15 +33,7 @@ internal class ScriptDiagnosticsMessageCollector(private val parentMessageCollec _diagnostics.any { it.severity == ScriptDiagnostic.Severity.ERROR } || parentMessageCollector?.hasErrors() == true override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { - val mappedSeverity = when (severity) { - CompilerMessageSeverity.EXCEPTION, - CompilerMessageSeverity.ERROR -> ScriptDiagnostic.Severity.ERROR - CompilerMessageSeverity.STRONG_WARNING, - CompilerMessageSeverity.WARNING -> ScriptDiagnostic.Severity.WARNING - CompilerMessageSeverity.INFO -> ScriptDiagnostic.Severity.INFO - CompilerMessageSeverity.LOGGING -> ScriptDiagnostic.Severity.DEBUG - else -> null - } + val mappedSeverity = severity.toScriptingSeverity() if (mappedSeverity != null) { val mappedLocation = location?.let { if (it.line < 0 && it.column < 0) null // special location created by CompilerMessageLocation.create @@ -57,6 +50,24 @@ internal class ScriptDiagnosticsMessageCollector(private val parentMessageCollec } } +private fun CompilerMessageSeverity.toScriptingSeverity(): ScriptDiagnostic.Severity? = when (this) { + CompilerMessageSeverity.EXCEPTION, + CompilerMessageSeverity.ERROR -> ScriptDiagnostic.Severity.ERROR + CompilerMessageSeverity.STRONG_WARNING, + CompilerMessageSeverity.WARNING -> ScriptDiagnostic.Severity.WARNING + CompilerMessageSeverity.INFO -> ScriptDiagnostic.Severity.INFO + CompilerMessageSeverity.LOGGING -> ScriptDiagnostic.Severity.DEBUG + CompilerMessageSeverity.OUTPUT -> null +} + +private fun ScriptDiagnostic.Severity.toCompilerMessageSeverity(): CompilerMessageSeverity = when (this) { + ScriptDiagnostic.Severity.ERROR -> CompilerMessageSeverity.ERROR + ScriptDiagnostic.Severity.WARNING -> CompilerMessageSeverity.WARNING + ScriptDiagnostic.Severity.INFO -> CompilerMessageSeverity.INFO + ScriptDiagnostic.Severity.DEBUG -> CompilerMessageSeverity.LOGGING + ScriptDiagnostic.Severity.FATAL -> CompilerMessageSeverity.EXCEPTION +} + internal fun failure( messageCollector: ScriptDiagnosticsMessageCollector, vararg diagnostics: ScriptDiagnostic ): ResultWithDiagnostics.Failure = @@ -133,4 +144,10 @@ private fun reportIgnoredArguments( if (ignoredArgKeys.isNotEmpty()) { messageCollector.report(CompilerMessageSeverity.STRONG_WARNING, "$message${ignoredArgKeys.joinToString(", ")}") } -} \ No newline at end of file +} + +val MessageCollector.reporter: MessageReporter + get() = { severity, message -> + this.report(severity.toCompilerMessageSeverity(), message) + } + diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/jvmCompilationUtil.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/jvmCompilationUtil.kt index 054e64c40f2..f5abd90936c 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/jvmCompilationUtil.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/jvmCompilationUtil.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtScript import org.jetbrains.kotlin.renderer.DescriptorRenderer -import org.jetbrains.kotlin.scripting.dependencies.ScriptsCompilationDependencies +import org.jetbrains.kotlin.scripting.compiler.plugin.dependencies.ScriptsCompilationDependencies import org.jetbrains.kotlin.scripting.resolve.ScriptLightVirtualFile import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import java.util.* diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/pluginRegisrar.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/pluginRegisrar.kt index 3c2f05853ed..b25026665a4 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/pluginRegisrar.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/pluginRegisrar.kt @@ -22,10 +22,12 @@ import org.jetbrains.kotlin.resolve.extensions.SyntheticResolveExtension import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.CliScriptDefinitionProvider import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.CliScriptDependenciesProvider import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.CliScriptReportSink -import org.jetbrains.kotlin.scripting.configuration.makeHostConfiguration +import org.jetbrains.kotlin.scripting.compiler.plugin.extensions.JvmStandardReplFactoryExtension +import org.jetbrains.kotlin.scripting.compiler.plugin.extensions.ScriptingCollectAdditionalSourcesExtension import org.jetbrains.kotlin.scripting.definitions.ScriptDefinitionProvider import org.jetbrains.kotlin.scripting.definitions.ScriptDependenciesProvider -import org.jetbrains.kotlin.scripting.extensions.* +import org.jetbrains.kotlin.scripting.extensions.ScriptExtraImportsProviderExtension +import org.jetbrains.kotlin.scripting.extensions.ScriptingResolveExtension import org.jetbrains.kotlin.scripting.resolve.ScriptReportSink import java.net.URLClassLoader @@ -43,10 +45,16 @@ class ScriptingCompilerConfigurationComponentRegistrar : ComponentRegistrar { val hostConfiguration = makeHostConfiguration(project, configuration) withClassloadingProblemsReporting(messageCollector) { CompilerConfigurationExtension.registerExtension(project, ScriptingCompilerConfigurationExtension(project, hostConfiguration)) - CollectAdditionalSourcesExtension.registerExtension(project, ScriptingCollectAdditionalSourcesExtension(project)) + CollectAdditionalSourcesExtension.registerExtension(project, + ScriptingCollectAdditionalSourcesExtension( + project + ) + ) ScriptEvaluationExtension.registerExtensionIfRequired(project, JvmCliScriptEvaluationExtension()) ShellExtension.registerExtensionIfRequired(project, JvmCliReplShellExtension()) - ReplFactoryExtension.registerExtensionIfRequired(project, JvmStandardReplFactoryExtension()) + ReplFactoryExtension.registerExtensionIfRequired(project, + JvmStandardReplFactoryExtension() + ) val scriptDefinitionProvider = CliScriptDefinitionProvider() project.registerService(ScriptDefinitionProvider::class.java, scriptDefinitionProvider) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/DelegatePackageMemberDeclarationProvider.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/DelegatePackageMemberDeclarationProvider.kt similarity index 97% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/DelegatePackageMemberDeclarationProvider.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/DelegatePackageMemberDeclarationProvider.kt index 0b2a54b12b8..d81db4ab08f 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/DelegatePackageMemberDeclarationProvider.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/DelegatePackageMemberDeclarationProvider.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.jetbrains.kotlin.scripting.repl +package org.jetbrains.kotlin.scripting.compiler.plugin.repl import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericCompilerState.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericCompilerState.kt similarity index 74% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericCompilerState.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericCompilerState.kt index 446d605f390..e76773af37e 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericCompilerState.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericCompilerState.kt @@ -3,17 +3,17 @@ * 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.scripting.repl +package org.jetbrains.kotlin.scripting.compiler.plugin.repl import org.jetbrains.kotlin.cli.common.repl.* import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.descriptors.ScriptDescriptor import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.scripting.repl.messages.DiagnosticMessageHolder +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages.DiagnosticMessageHolder import java.util.concurrent.locks.ReentrantReadWriteLock import kotlin.script.experimental.dependencies.ScriptDependencies -class ReplCompilerStageHistory(private val state: org.jetbrains.kotlin.scripting.repl.GenericReplCompilerState) : BasicReplStageHistory(state.lock) { +class ReplCompilerStageHistory(private val state: GenericReplCompilerState) : BasicReplStageHistory(state.lock) { override fun reset(): Iterable { val removedCompiledLines = super.reset() @@ -49,17 +49,17 @@ abstract class GenericReplCheckerState : IReplStageState { val errorHolder: DiagnosticMessageHolder ) - var lastLineState: org.jetbrains.kotlin.scripting.repl.GenericReplCheckerState.LineState? = null // for transferring state to the compiler in most typical case + var lastLineState: LineState? = null // for transferring state to the compiler in most typical case } class GenericReplCompilerState(environment: KotlinCoreEnvironment, override val lock: ReentrantReadWriteLock = ReentrantReadWriteLock()) : - IReplStageState, org.jetbrains.kotlin.scripting.repl.GenericReplCheckerState() { + IReplStageState, GenericReplCheckerState() { - override val history = org.jetbrains.kotlin.scripting.repl.ReplCompilerStageHistory(this) + override val history = ReplCompilerStageHistory(this) override val currentGeneration: Int get() = (history as BasicReplStageHistory<*>).currentGeneration.get() - val analyzerEngine = org.jetbrains.kotlin.scripting.repl.ReplCodeAnalyzer(environment) + val analyzerEngine = ReplCodeAnalyzer(environment) var lastDependencies: ScriptDependencies? = null } diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericReplChecker.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplChecker.kt similarity index 92% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericReplChecker.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplChecker.kt index 677df5ca82a..dbb2947008b 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericReplChecker.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplChecker.kt @@ -3,7 +3,7 @@ * 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.scripting.repl +package org.jetbrains.kotlin.scripting.compiler.plugin.repl import com.intellij.openapi.Disposable import com.intellij.openapi.util.text.StringUtil @@ -24,10 +24,10 @@ import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.psi.KtFile +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages.ConsoleDiagnosticMessageHolder import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition -import org.jetbrains.kotlin.scripting.repl.messages.ConsoleDiagnosticMessageHolder import kotlin.concurrent.write import kotlin.script.experimental.host.ScriptingHostConfiguration import kotlin.script.experimental.host.configurationDependencies @@ -68,7 +68,7 @@ open class GenericReplChecker( override fun check(state: IReplStageState<*>, codeLine: ReplCodeLine): ReplCheckResult { state.lock.write { - val checkerState = state.asState(org.jetbrains.kotlin.scripting.repl.GenericReplCheckerState::class.java) + val checkerState = state.asState(GenericReplCheckerState::class.java) val scriptFileName = makeScriptBaseName(codeLine) val virtualFile = LightVirtualFile( @@ -87,7 +87,7 @@ open class GenericReplChecker( if (!syntaxErrorReport.isHasErrors) { checkerState.lastLineState = - org.jetbrains.kotlin.scripting.repl.GenericReplCheckerState.LineState(codeLine, psiFile, errorHolder) + GenericReplCheckerState.LineState(codeLine, psiFile, errorHolder) } return when { diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericReplCompiler.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplCompiler.kt similarity index 94% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericReplCompiler.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplCompiler.kt index 7985fc7fd26..95c42b2b5c2 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/GenericReplCompiler.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplCompiler.kt @@ -3,7 +3,7 @@ * 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.scripting.repl +package org.jetbrains.kotlin.scripting.compiler.plugin.repl import com.intellij.openapi.Disposable import com.intellij.openapi.util.Disposer @@ -41,16 +41,21 @@ open class GenericReplCompiler( ) : this(Disposer.newDisposable(), scriptDefinition, compilerConfiguration, messageCollector) private val checker = - GenericReplChecker(disposable, scriptDefinition, compilerConfiguration, messageCollector) + GenericReplChecker( + disposable, + scriptDefinition, + compilerConfiguration, + messageCollector + ) override fun createState(lock: ReentrantReadWriteLock): IReplStageState<*> = - org.jetbrains.kotlin.scripting.repl.GenericReplCompilerState(checker.environment, lock) + GenericReplCompilerState(checker.environment, lock) override fun check(state: IReplStageState<*>, codeLine: ReplCodeLine): ReplCheckResult = checker.check(state, codeLine) override fun compile(state: IReplStageState<*>, codeLine: ReplCodeLine): ReplCompileResult { state.lock.write { - val compilerState = state.asState(org.jetbrains.kotlin.scripting.repl.GenericReplCompilerState::class.java) + val compilerState = state.asState(GenericReplCompilerState::class.java) val (psiFile, errorHolder) = run { if (compilerState.lastLineState == null || compilerState.lastLineState!!.codeLine != codeLine) { diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplCodeAnalyzer.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplCodeAnalyzer.kt similarity index 94% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplCodeAnalyzer.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplCodeAnalyzer.kt index 9c02c63a13c..30eff7e9140 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplCodeAnalyzer.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplCodeAnalyzer.kt @@ -5,7 +5,7 @@ @file:Suppress("UNUSED_PARAMETER") -package org.jetbrains.kotlin.scripting.repl +package org.jetbrains.kotlin.scripting.compiler.plugin.repl import org.jetbrains.kotlin.cli.common.repl.CompiledReplCodeLine import org.jetbrains.kotlin.cli.common.repl.ILineId @@ -116,7 +116,10 @@ class ReplCodeAnalyzer(environment: KotlinCoreEnvironment) { } else { val scriptDescriptor = context.scripts[linePsi.script]!! replState.lineSuccess(linePsi, codeLine, scriptDescriptor) - ReplLineAnalysisResult.Successful(scriptDescriptor, diagnostics) + ReplLineAnalysisResult.Successful( + scriptDescriptor, + diagnostics + ) } } @@ -157,7 +160,7 @@ class ReplCodeAnalyzer(environment: KotlinCoreEnvironment) { class AdaptablePackageMemberDeclarationProvider( private var delegateProvider: PackageMemberDeclarationProvider - ) : org.jetbrains.kotlin.scripting.repl.DelegatePackageMemberDeclarationProvider(delegateProvider) { + ) : DelegatePackageMemberDeclarationProvider(delegateProvider) { fun addDelegateProvider(provider: PackageMemberDeclarationProvider) { delegateProvider = CombinedPackageMemberDeclarationProvider(listOf(provider, delegateProvider)) @@ -197,20 +200,22 @@ class ReplCodeAnalyzer(environment: KotlinCoreEnvironment) { } fun lineSuccess(ktFile: KtFile, codeLine: ReplCodeLine, scriptDescriptor: ClassDescriptorWithResolutionScopes) { - val successfulLine = LineInfo.SuccessfulLine( - ktFile, - successfulLines.lastValue(), - scriptDescriptor - ) + val successfulLine = + LineInfo.SuccessfulLine( + ktFile, + successfulLines.lastValue(), + scriptDescriptor + ) submittedLines[ktFile] = successfulLine successfulLines.add(CompiledReplCodeLine(ktFile.name, codeLine), successfulLine) } fun lineFailure(ktFile: KtFile, codeLine: ReplCodeLine) { - submittedLines[ktFile] = LineInfo.FailedLine( - ktFile, - successfulLines.lastValue() - ) + submittedLines[ktFile] = + LineInfo.FailedLine( + ktFile, + successfulLines.lastValue() + ) } private fun lineInfo(ktFile: KtFile) = submittedLines[ktFile] diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplExceptionReporter.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplExceptionReporter.kt similarity index 84% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplExceptionReporter.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplExceptionReporter.kt index cdd1c51c4d8..338a2bfd5f2 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplExceptionReporter.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplExceptionReporter.kt @@ -3,9 +3,9 @@ * 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.scripting.repl +package org.jetbrains.kotlin.scripting.compiler.plugin.repl -import org.jetbrains.kotlin.scripting.repl.writer.ReplWriter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer.ReplWriter import java.io.PrintWriter import java.io.StringWriter @@ -17,7 +17,8 @@ interface ReplExceptionReporter { } } -class IdeReplExceptionReporter(private val replWriter: ReplWriter) : ReplExceptionReporter { +class IdeReplExceptionReporter(private val replWriter: ReplWriter) : + ReplExceptionReporter { override fun report(e: Throwable) { val stringWriter = StringWriter() val printWriter = PrintWriter(stringWriter) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplFromTerminal.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplFromTerminal.kt similarity index 94% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplFromTerminal.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplFromTerminal.kt index 969bf37501e..65aa5d0ffc6 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplFromTerminal.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplFromTerminal.kt @@ -3,7 +3,7 @@ * 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.scripting.repl +package org.jetbrains.kotlin.scripting.compiler.plugin.repl import com.intellij.openapi.Disposable import com.intellij.openapi.util.io.FileUtil @@ -13,13 +13,12 @@ import org.jetbrains.kotlin.cli.common.repl.ReplEvalResult import org.jetbrains.kotlin.cli.common.repl.replUnescapeLineBreaks import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.KotlinCompilerVersion -import org.jetbrains.kotlin.scripting.repl.configuration.ConsoleReplConfiguration -import org.jetbrains.kotlin.scripting.repl.configuration.IdeReplConfiguration -import org.jetbrains.kotlin.scripting.repl.configuration.ReplConfiguration +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration.ConsoleReplConfiguration +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration.IdeReplConfiguration +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration.ReplConfiguration import java.io.File import java.io.IOException import java.io.PrintWriter -import java.util.* import java.util.concurrent.Callable import java.util.concurrent.Executors import java.util.concurrent.Future diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplInterpreter.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplInterpreter.kt similarity index 96% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplInterpreter.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplInterpreter.kt index fe53c9d2d67..c98683a371c 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/ReplInterpreter.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/ReplInterpreter.kt @@ -3,7 +3,7 @@ * 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.scripting.repl +package org.jetbrains.kotlin.scripting.compiler.plugin.repl import com.intellij.openapi.Disposable import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys @@ -15,8 +15,8 @@ import org.jetbrains.kotlin.cli.common.repl.* import org.jetbrains.kotlin.cli.jvm.config.JvmClasspathRoot import org.jetbrains.kotlin.cli.jvm.config.JvmModulePathRoot import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration.ReplConfiguration import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinition -import org.jetbrains.kotlin.scripting.repl.configuration.ReplConfiguration import java.io.PrintWriter import java.net.URLClassLoader import java.util.concurrent.atomic.AtomicInteger diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/ConsoleReplConfiguration.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/ConsoleReplConfiguration.kt similarity index 61% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/ConsoleReplConfiguration.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/ConsoleReplConfiguration.kt index 10032fd370d..91c1e3574bc 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/ConsoleReplConfiguration.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/ConsoleReplConfiguration.kt @@ -3,12 +3,12 @@ * 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.scripting.repl.configuration +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration -import org.jetbrains.kotlin.scripting.repl.ReplExceptionReporter -import org.jetbrains.kotlin.scripting.repl.messages.ConsoleDiagnosticMessageHolder -import org.jetbrains.kotlin.scripting.repl.reader.ConsoleReplCommandReader -import org.jetbrains.kotlin.scripting.repl.writer.ConsoleReplWriter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplExceptionReporter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages.ConsoleDiagnosticMessageHolder +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader.ConsoleReplCommandReader +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer.ConsoleReplWriter class ConsoleReplConfiguration : ReplConfiguration { override val writer = ConsoleReplWriter() diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/IdeReplConfiguration.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/IdeReplConfiguration.kt similarity index 68% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/IdeReplConfiguration.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/IdeReplConfiguration.kt index 0f299098ac1..0f1bf946e1f 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/IdeReplConfiguration.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/IdeReplConfiguration.kt @@ -3,16 +3,16 @@ * 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.scripting.repl.configuration +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration -import org.jetbrains.kotlin.scripting.repl.IdeReplExceptionReporter -import org.jetbrains.kotlin.scripting.repl.ReplExceptionReporter -import org.jetbrains.kotlin.scripting.repl.messages.IdeDiagnosticMessageHolder -import org.jetbrains.kotlin.scripting.repl.reader.IdeReplCommandReader -import org.jetbrains.kotlin.scripting.repl.reader.ReplCommandReader -import org.jetbrains.kotlin.scripting.repl.reader.ReplSystemInWrapper -import org.jetbrains.kotlin.scripting.repl.writer.IdeSystemOutWrapperReplWriter -import org.jetbrains.kotlin.scripting.repl.writer.ReplWriter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.IdeReplExceptionReporter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplExceptionReporter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages.IdeDiagnosticMessageHolder +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader.IdeReplCommandReader +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader.ReplCommandReader +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader.ReplSystemInWrapper +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer.IdeSystemOutWrapperReplWriter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer.ReplWriter class IdeReplConfiguration : ReplConfiguration { override val allowIncompleteLines: Boolean diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/ReplConfiguration.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/ReplConfiguration.kt similarity index 55% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/ReplConfiguration.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/ReplConfiguration.kt index 065c842f557..45d96b00f98 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/ReplConfiguration.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/ReplConfiguration.kt @@ -3,12 +3,12 @@ * 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.scripting.repl.configuration +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration -import org.jetbrains.kotlin.scripting.repl.ReplExceptionReporter -import org.jetbrains.kotlin.scripting.repl.messages.DiagnosticMessageHolder -import org.jetbrains.kotlin.scripting.repl.reader.ReplCommandReader -import org.jetbrains.kotlin.scripting.repl.writer.ReplWriter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplExceptionReporter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages.DiagnosticMessageHolder +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader.ReplCommandReader +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer.ReplWriter interface ReplConfiguration { val writer: ReplWriter diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/SnippetExecutionInterceptor.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/SnippetExecutionInterceptor.kt similarity index 84% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/SnippetExecutionInterceptor.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/SnippetExecutionInterceptor.kt index acc609edae9..78ce252b949 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/configuration/SnippetExecutionInterceptor.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/configuration/SnippetExecutionInterceptor.kt @@ -3,7 +3,7 @@ * 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.scripting.repl.configuration +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.configuration interface SnippetExecutionInterceptor { fun execute(block: () -> T): T diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/jvmReplCompilation.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/jvmReplCompilation.kt index e7c29ba1867..725bf6c2a0f 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/jvmReplCompilation.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/jvmReplCompilation.kt @@ -11,7 +11,6 @@ import com.intellij.openapi.util.Disposer import org.jetbrains.kotlin.cli.common.repl.* import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.descriptors.ScriptDescriptor -import org.jetbrains.kotlin.scripting.repl.ReplCodeAnalyzer import java.util.concurrent.locks.ReentrantReadWriteLock import kotlin.concurrent.write import kotlin.script.experimental.api.* diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/ConsoleDiagnosticMessageHolder.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/ConsoleDiagnosticMessageHolder.kt similarity index 90% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/ConsoleDiagnosticMessageHolder.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/ConsoleDiagnosticMessageHolder.kt index 0786f303263..ad05b3f6660 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/ConsoleDiagnosticMessageHolder.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/ConsoleDiagnosticMessageHolder.kt @@ -3,7 +3,7 @@ * 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.scripting.repl.messages +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages import org.jetbrains.kotlin.cli.common.messages.GroupingMessageCollector import org.jetbrains.kotlin.cli.common.messages.MessageCollectorBasedReporter @@ -12,7 +12,8 @@ import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector import java.io.ByteArrayOutputStream import java.io.PrintStream -class ConsoleDiagnosticMessageHolder : MessageCollectorBasedReporter, DiagnosticMessageHolder { +class ConsoleDiagnosticMessageHolder : MessageCollectorBasedReporter, + DiagnosticMessageHolder { private val outputStream = ByteArrayOutputStream() override val messageCollector: GroupingMessageCollector = GroupingMessageCollector( diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/DiagnosticMessageHolder.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/DiagnosticMessageHolder.kt similarity index 91% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/DiagnosticMessageHolder.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/DiagnosticMessageHolder.kt index cfd047c63d5..fa984b1c2fc 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/DiagnosticMessageHolder.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/DiagnosticMessageHolder.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.jetbrains.kotlin.scripting.repl.messages +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages import org.jetbrains.kotlin.cli.common.messages.DiagnosticMessageReporter diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/IdeDiagnosticMessageHolder.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/IdeDiagnosticMessageHolder.kt similarity index 96% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/IdeDiagnosticMessageHolder.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/IdeDiagnosticMessageHolder.kt index 5cc0bf20e8c..023057823b9 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/messages/IdeDiagnosticMessageHolder.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/messages/IdeDiagnosticMessageHolder.kt @@ -3,7 +3,7 @@ * 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.scripting.repl.messages +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.messages import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.PsiFile diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ConsoleReplCommandReader.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ConsoleReplCommandReader.kt similarity index 91% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ConsoleReplCommandReader.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ConsoleReplCommandReader.kt index 33ca46be126..97a56d6b638 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ConsoleReplCommandReader.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ConsoleReplCommandReader.kt @@ -3,9 +3,9 @@ * 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.scripting.repl.reader +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader -import org.jetbrains.kotlin.scripting.repl.ReplFromTerminal +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplFromTerminal import org.jline.reader.EndOfFileException import org.jline.reader.LineReader import org.jline.reader.LineReaderBuilder diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/IdeReplCommandReader.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/IdeReplCommandReader.kt similarity index 72% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/IdeReplCommandReader.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/IdeReplCommandReader.kt index 7e76a81059b..a0982e639ae 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/IdeReplCommandReader.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/IdeReplCommandReader.kt @@ -3,9 +3,9 @@ * 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.scripting.repl.reader +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader -import org.jetbrains.kotlin.scripting.repl.ReplFromTerminal +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplFromTerminal class IdeReplCommandReader : ReplCommandReader { override fun readLine(next: ReplFromTerminal.WhatNextAfterOneLine) = readLine() diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ReplCommandReader.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ReplCommandReader.kt similarity index 70% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ReplCommandReader.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ReplCommandReader.kt index a1f3dee9113..b8a14ff014c 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ReplCommandReader.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ReplCommandReader.kt @@ -3,9 +3,9 @@ * 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.scripting.repl.reader +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader -import org.jetbrains.kotlin.scripting.repl.ReplFromTerminal +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.ReplFromTerminal interface ReplCommandReader { fun readLine(next: ReplFromTerminal.WhatNextAfterOneLine): String? diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ReplSystemInWrapper.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ReplSystemInWrapper.kt similarity index 95% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ReplSystemInWrapper.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ReplSystemInWrapper.kt index 3348229f0a8..3df93bdb78c 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/reader/ReplSystemInWrapper.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/reader/ReplSystemInWrapper.kt @@ -3,10 +3,10 @@ * 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.scripting.repl.reader +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.reader import org.jetbrains.kotlin.cli.common.repl.replUnescapeLineBreaks -import org.jetbrains.kotlin.scripting.repl.writer.ReplWriter +import org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer.ReplWriter import org.w3c.dom.Element import org.xml.sax.InputSource import java.io.ByteArrayInputStream diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/ConsoleReplWriter.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/ConsoleReplWriter.kt similarity index 92% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/ConsoleReplWriter.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/ConsoleReplWriter.kt index 005678e6386..1209f997ae7 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/ConsoleReplWriter.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/ConsoleReplWriter.kt @@ -3,7 +3,7 @@ * 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.scripting.repl.writer +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer class ConsoleReplWriter : ReplWriter { override fun printlnWelcomeMessage(x: String) = println(x) diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/IdeSystemOutWrapperReplWriter.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/IdeSystemOutWrapperReplWriter.kt similarity index 97% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/IdeSystemOutWrapperReplWriter.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/IdeSystemOutWrapperReplWriter.kt index f25d1b0a6e2..dbac95c7644 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/IdeSystemOutWrapperReplWriter.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/IdeSystemOutWrapperReplWriter.kt @@ -3,7 +3,7 @@ * 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.scripting.repl.writer +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer import org.jetbrains.kotlin.cli.common.repl.replAddLineBreak import org.jetbrains.kotlin.cli.common.repl.replOutputAsXml diff --git a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/ReplWriter.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/ReplWriter.kt similarity index 89% rename from plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/ReplWriter.kt rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/ReplWriter.kt index 81ca5141c3f..41e296f4788 100644 --- a/plugins/scripting/scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/repl/writer/ReplWriter.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/repl/writer/ReplWriter.kt @@ -3,7 +3,7 @@ * 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.scripting.repl.writer +package org.jetbrains.kotlin.scripting.compiler.plugin.repl.writer interface ReplWriter { fun printlnWelcomeMessage(x: String) diff --git a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt index 00e61e59532..1ab75f8fdf5 100644 --- a/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt +++ b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt @@ -22,11 +22,11 @@ import org.jetbrains.kotlin.compiler.plugin.AbstractCliOption import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.JVMConfigurationKeys +import org.jetbrains.kotlin.scripting.compiler.plugin.impl.reporter import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys import org.jetbrains.kotlin.scripting.definitions.SCRIPT_DEFINITION_MARKERS_PATH import org.jetbrains.kotlin.scripting.definitions.discoverScriptTemplatesInClasspath import org.jetbrains.kotlin.scripting.definitions.loadScriptTemplatesFromClasspath -import org.jetbrains.kotlin.scripting.definitions.reporter import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.TestCaseWithTmpdir diff --git a/plugins/scripting/scripting-idea/build.gradle.kts b/plugins/scripting/scripting-idea/build.gradle.kts index 05a2a53bf0b..a21be917b33 100644 --- a/plugins/scripting/scripting-idea/build.gradle.kts +++ b/plugins/scripting/scripting-idea/build.gradle.kts @@ -7,8 +7,6 @@ plugins { } dependencies { - compileOnly(project(":kotlin-scripting-compiler")) - compile(project(":kotlin-scripting-compiler-impl")) compile(project(":kotlin-scripting-intellij")) compileOnly(project(":idea:idea-gradle")) compileOnly(project(":idea:idea-core")) diff --git a/plugins/scripting/scripting-idea/src/org/jetbrains/kotlin/scripting/idea/plugin/ScriptingGradleProjectImportHandler.kt b/plugins/scripting/scripting-idea/src/org/jetbrains/kotlin/scripting/idea/plugin/ScriptingGradleProjectImportHandler.kt index 86389054554..a091a3276e1 100644 --- a/plugins/scripting/scripting-idea/src/org/jetbrains/kotlin/scripting/idea/plugin/ScriptingGradleProjectImportHandler.kt +++ b/plugins/scripting/scripting-idea/src/org/jetbrains/kotlin/scripting/idea/plugin/ScriptingGradleProjectImportHandler.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.scripting.idea.plugin import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.idea.configuration.GradleProjectImportHandler import org.jetbrains.kotlin.idea.facet.KotlinFacet -import org.jetbrains.kotlin.scripting.configuration.KOTLIN_SCRIPTING_PLUGIN_ID +import org.jetbrains.kotlin.scripting.KOTLIN_SCRIPTING_PLUGIN_ID import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData import java.io.File