From 9c004c3a528ab9096065b09a89cd7751b0f9b060 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Mon, 8 Jul 2019 16:52:19 +0200 Subject: [PATCH] Refactor scripting compiler plugin - move cli dependent parts out of the -impl jar The kotlin-scripting-compiler-impl jar is used in the idea plugin and therefore should not depend on the cli parts of the compiler to avoid dependency from the plugin to the kotlin-compiler.jar. Therefore the cli-dependent parts were moved to the scripting plugin jar, which is used only in cli compiler based environments. Also implement required abstractions to allow this movement and drop some redundant dependencies to the cli parts in other projects. --- compiler/build.gradle.kts | 5 +-- compiler/tests-java8/build.gradle.kts | 2 +- .../kotlin/jvm/repl/ReplCompilerJava8Test.kt | 4 +- .../kotlin/cli/jvm/repl/GenericReplTest.kt | 2 +- .../AbstractCustomScriptCodegenTest.kt | 2 +- .../kotlin/codegen/CustomScriptCodegenTest.kt | 2 +- .../repl/AbstractReplInterpreterTest.kt | 4 +- idea/build.gradle.kts | 1 - idea/kotlin-gradle-tooling/build.gradle.kts | 1 - .../script/BridgeDefinitionsContributor.kt | 37 +++++-------------- .../kotlin-gradle-plugin/build.gradle.kts | 2 +- .../internal/ScriptingGradleSubplugin.kt | 2 +- .../kotlin/maven/ExecuteKotlinScriptMojo.java | 3 +- .../KotlinJsr223JvmLocalScriptEngine.kt | 2 +- .../scripting-compiler-impl/build.gradle.kts | 1 - ...LazyScriptDefinitionFromDiscoveredClass.kt | 13 ++----- ...DefinitionsFromClasspathDiscoverySource.kt | 37 +++++++------------ .../plugin/JvmCliReplShellExtension.kt | 2 +- .../plugin/ScriptingCommandLineProcessor.kt | 1 - ...ScriptingCompilerConfigurationExtension.kt | 7 +++- .../compiler/plugin}/configuration.kt | 5 ++- .../ScriptsCompilationDependencies.kt | 2 +- .../JvmStandardReplFactoryExtension.kt | 4 +- ...iptingCollectAdditionalSourcesExtension.kt | 4 +- .../plugin/impl/KJvmReplCompilerImpl.kt | 2 +- .../plugin/impl/compilationContext.kt | 4 +- .../compiler/plugin/impl/errorReporting.kt | 37 ++++++++++++++----- .../plugin/impl/jvmCompilationUtil.kt | 2 +- .../compiler/plugin/pluginRegisrar.kt | 16 ++++++-- ...elegatePackageMemberDeclarationProvider.kt | 2 +- .../plugin}/repl/GenericCompilerState.kt | 14 +++---- .../plugin}/repl/GenericReplChecker.kt | 8 ++-- .../plugin}/repl/GenericReplCompiler.kt | 13 +++++-- .../compiler/plugin}/repl/ReplCodeAnalyzer.kt | 29 +++++++++------ .../plugin}/repl/ReplExceptionReporter.kt | 7 ++-- .../compiler/plugin}/repl/ReplFromTerminal.kt | 9 ++--- .../compiler/plugin}/repl/ReplInterpreter.kt | 4 +- .../configuration/ConsoleReplConfiguration.kt | 10 ++--- .../configuration/IdeReplConfiguration.kt | 18 ++++----- .../repl/configuration/ReplConfiguration.kt | 10 ++--- .../SnippetExecutionInterceptor.kt | 2 +- .../plugin/repl/jvmReplCompilation.kt | 1 - .../ConsoleDiagnosticMessageHolder.kt | 5 ++- .../repl/messages/DiagnosticMessageHolder.kt | 2 +- .../messages/IdeDiagnosticMessageHolder.kt | 2 +- .../repl/reader/ConsoleReplCommandReader.kt | 4 +- .../repl/reader/IdeReplCommandReader.kt | 4 +- .../plugin}/repl/reader/ReplCommandReader.kt | 4 +- .../repl/reader/ReplSystemInWrapper.kt | 4 +- .../plugin}/repl/writer/ConsoleReplWriter.kt | 2 +- .../writer/IdeSystemOutWrapperReplWriter.kt | 2 +- .../plugin}/repl/writer/ReplWriter.kt | 2 +- .../plugin/ScriptingCompilerPluginTest.kt | 2 +- .../scripting/scripting-idea/build.gradle.kts | 2 - .../ScriptingGradleProjectImportHandler.kt | 2 +- 55 files changed, 185 insertions(+), 185 deletions(-) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting/configuration => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/configuration.kt (88%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/dependencies/ScriptsCompilationDependencies.kt (98%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/extensions/JvmStandardReplFactoryExtension.kt (93%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/extensions/ScriptingCollectAdditionalSourcesExtension.kt (86%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/DelegatePackageMemberDeclarationProvider.kt (97%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/GenericCompilerState.kt (74%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/GenericReplChecker.kt (92%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/GenericReplCompiler.kt (94%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/ReplCodeAnalyzer.kt (94%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/ReplExceptionReporter.kt (84%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/ReplFromTerminal.kt (94%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/ReplInterpreter.kt (96%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/configuration/ConsoleReplConfiguration.kt (61%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/configuration/IdeReplConfiguration.kt (68%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/configuration/ReplConfiguration.kt (55%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/configuration/SnippetExecutionInterceptor.kt (84%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/messages/ConsoleDiagnosticMessageHolder.kt (90%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/messages/DiagnosticMessageHolder.kt (91%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/messages/IdeDiagnosticMessageHolder.kt (96%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/reader/ConsoleReplCommandReader.kt (91%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/reader/IdeReplCommandReader.kt (72%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/reader/ReplCommandReader.kt (70%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/reader/ReplSystemInWrapper.kt (95%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/writer/ConsoleReplWriter.kt (92%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/writer/IdeSystemOutWrapperReplWriter.kt (97%) rename plugins/scripting/{scripting-compiler-impl/src/org/jetbrains/kotlin/scripting => scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin}/repl/writer/ReplWriter.kt (89%) 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