diff --git a/.idea/artifacts/ideaPlugin.xml b/.idea/artifacts/ideaPlugin.xml
index 75f0b47908f..1f9d7a1dbf1 100644
--- a/.idea/artifacts/ideaPlugin.xml
+++ b/.idea/artifacts/ideaPlugin.xml
@@ -114,7 +114,7 @@
-
+
diff --git a/.idea/artifacts/kotlinc.xml b/.idea/artifacts/kotlinc.xml
index 7316944c52a..8a44426b3df 100644
--- a/.idea/artifacts/kotlinc.xml
+++ b/.idea/artifacts/kotlinc.xml
@@ -129,7 +129,7 @@
-
+
diff --git a/compiler/tests/org/jetbrains/kotlin/scripts/CollectScriptCompilationDependenciesTest.kt b/compiler/tests/org/jetbrains/kotlin/scripts/CollectScriptCompilationDependenciesTest.kt
index 7055f7b8218..6b14ecac4ad 100644
--- a/compiler/tests/org/jetbrains/kotlin/scripts/CollectScriptCompilationDependenciesTest.kt
+++ b/compiler/tests/org/jetbrains/kotlin/scripts/CollectScriptCompilationDependenciesTest.kt
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.script.KotlinScriptDefinition
import org.jetbrains.kotlin.script.loadScriptingPlugin
-import org.jetbrains.kotlin.scripting.compiler.plugin.KotlinScriptDefinitionAdapterFromNewAPI
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.KotlinScriptDefinitionAdapterFromNewAPI
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/scripts/ScriptCliCompilationTest.kt b/compiler/tests/org/jetbrains/kotlin/scripts/ScriptCliCompilationTest.kt
index 31f32adde2a..b13af15f1ba 100644
--- a/compiler/tests/org/jetbrains/kotlin/scripts/ScriptCliCompilationTest.kt
+++ b/compiler/tests/org/jetbrains/kotlin/scripts/ScriptCliCompilationTest.kt
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.daemon.TestMessageCollector
import org.jetbrains.kotlin.script.KotlinScriptDefinition
import org.jetbrains.kotlin.script.loadScriptingPlugin
-import org.jetbrains.kotlin.scripting.compiler.plugin.KotlinScriptDefinitionAdapterFromNewAPI
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.KotlinScriptDefinitionAdapterFromNewAPI
import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.TestJdkKind
diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt
index a0f9353c553..06bf114b989 100644
--- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt
+++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt
@@ -42,7 +42,7 @@ import org.jetbrains.kotlin.script.KotlinScriptDefinition
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
import org.jetbrains.kotlin.script.ScriptDefinitionProvider
import org.jetbrains.kotlin.script.ScriptTemplatesProvider
-import org.jetbrains.kotlin.scripting.compiler.plugin.KotlinScriptDefinitionAdapterFromNewAPI
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.KotlinScriptDefinitionAdapterFromNewAPI
import org.jetbrains.kotlin.scripting.legacy.LazyScriptDefinitionProvider
import org.jetbrains.kotlin.utils.PathUtil
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/core/script/GradleScriptTemplateProvider.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/core/script/GradleScriptTemplateProvider.kt
index e180791f3e7..6e373db9f26 100644
--- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/core/script/GradleScriptTemplateProvider.kt
+++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/core/script/GradleScriptTemplateProvider.kt
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.lexer.KotlinLexer
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.script.KotlinScriptDefinition
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
-import org.jetbrains.kotlin.scripting.compiler.plugin.KotlinScriptDefinitionAdapterFromNewAPIBase
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase
import org.jetbrains.plugins.gradle.config.GradleSettingsListenerAdapter
import org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper
import org.jetbrains.plugins.gradle.settings.DistributionType
diff --git a/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt b/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt
index 1ef330fd845..09a2a23e945 100644
--- a/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionContributor
import org.jetbrains.kotlin.idea.core.script.loadDefinitionsFromTemplates
import org.jetbrains.kotlin.script.KotlinScriptDefinition
-import org.jetbrains.kotlin.scripting.compiler.plugin.ScriptDefinitionsFromClasspathDiscoverySource
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.ScriptDefinitionsFromClasspathDiscoverySource
import kotlin.script.experimental.intellij.ScriptDefinitionsProvider
class BridgeScriptDefinitionsContributor(private val project: Project) : ScriptDefinitionContributor {
@@ -31,7 +31,11 @@ class BridgeScriptDefinitionsContributor(private val project: Project) : ScriptD
else emptyList()
val discoveredDefinitions =
if (provider.useDiscovery()) emptySequence()
- else ScriptDefinitionsFromClasspathDiscoverySource(classPath, emptyMap(), messageCollector).definitions
+ else ScriptDefinitionsFromClasspathDiscoverySource(
+ classPath,
+ emptyMap(),
+ messageCollector
+ ).definitions
explicitDefinitions + discoveredDefinitions
}
}
diff --git a/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptDefinitionsModel.kt b/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptDefinitionsModel.kt
index 67b1aefe3b3..742b89d771c 100644
--- a/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptDefinitionsModel.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/script/configuration/KotlinScriptDefinitionsModel.kt
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings
import org.jetbrains.kotlin.parsing.KotlinParserDefinition
import org.jetbrains.kotlin.script.KotlinScriptDefinition
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
-import org.jetbrains.kotlin.scripting.compiler.plugin.KotlinScriptDefinitionAdapterFromNewAPIBase
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase
class KotlinScriptDefinitionsModelDescriptor(val definition: KotlinScriptDefinition, var isEnabled: Boolean)
diff --git a/idea/src/org/jetbrains/kotlin/idea/script/configuration/MultipleScriptDefinitionsChecker.kt b/idea/src/org/jetbrains/kotlin/idea/script/configuration/MultipleScriptDefinitionsChecker.kt
index efcfcf8c2e9..c6613334567 100644
--- a/idea/src/org/jetbrains/kotlin/idea/script/configuration/MultipleScriptDefinitionsChecker.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/script/configuration/MultipleScriptDefinitionsChecker.kt
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.parsing.KotlinParserDefinition
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.script.KotlinScriptDefinition
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
-import org.jetbrains.kotlin.scripting.compiler.plugin.KotlinScriptDefinitionAdapterFromNewAPIBase
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase
class MultipleScriptDefinitionsChecker(private val project: Project) : EditorNotifications.Provider() {
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 5b25789328c..bb1b315c5d3 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
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.gradle.plugin.*
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.scripting.compiler.plugin.ScriptDefinitionsFromClasspathDiscoverySource
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.ScriptDefinitionsFromClasspathDiscoverySource
import java.io.File
private const val MISCONFIGURATION_MESSAGE_SUFFIX = "the plugin is probably applied by a mistake"
diff --git a/plugins/scripting/scripting-embeddable/build.gradle.kts b/plugins/scripting/scripting-compiler-embeddable/build.gradle.kts
similarity index 100%
rename from plugins/scripting/scripting-embeddable/build.gradle.kts
rename to plugins/scripting/scripting-compiler-embeddable/build.gradle.kts
diff --git a/plugins/scripting/scripting-cli/build.gradle.kts b/plugins/scripting/scripting-compiler/build.gradle.kts
similarity index 100%
rename from plugins/scripting/scripting-cli/build.gradle.kts
rename to plugins/scripting/scripting-compiler/build.gradle.kts
diff --git a/plugins/scripting/scripting-cli/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor b/plugins/scripting/scripting-compiler/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor
similarity index 100%
rename from plugins/scripting/scripting-cli/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor
rename to plugins/scripting/scripting-compiler/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor
diff --git a/plugins/scripting/scripting-cli/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar b/plugins/scripting/scripting-compiler/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
similarity index 100%
rename from plugins/scripting/scripting-cli/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
rename to plugins/scripting/scripting-compiler/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCommandLineProcessor.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCommandLineProcessor.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCommandLineProcessor.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCommandLineProcessor.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt
similarity index 78%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt
index 518d551b5aa..b4f8925a336 100644
--- a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt
+++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerConfigurationExtension.kt
@@ -10,19 +10,15 @@ import com.intellij.mock.MockProject
import com.intellij.openapi.fileTypes.FileTypeRegistry
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
-import org.jetbrains.kotlin.scripting.legacy.CliScriptDependenciesProvider
-import org.jetbrains.kotlin.scripting.legacy.CliScriptReportSink
import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots
-import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.extensions.CompilerConfigurationExtension
import org.jetbrains.kotlin.idea.KotlinFileType
-import org.jetbrains.kotlin.resolve.extensions.SyntheticResolveExtension
import org.jetbrains.kotlin.script.ScriptDefinitionProvider
-import org.jetbrains.kotlin.script.ScriptDependenciesProvider
-import org.jetbrains.kotlin.script.ScriptReportSink
import org.jetbrains.kotlin.script.StandardScriptDefinition
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.ScriptDefinitionsFromClasspathDiscoverySource
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.loadScriptTemplatesFromClasspath
import org.jetbrains.kotlin.scripting.legacy.CliScriptDefinitionProvider
import java.io.File
@@ -96,28 +92,6 @@ class ScriptingCompilerConfigurationExtension(val project: MockProject) : Compil
}
}
-class ScriptingCompilerConfigurationComponentRegistrar : ComponentRegistrar {
- override fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration) {
- CompilerConfigurationExtension.registerExtension(project, ScriptingCompilerConfigurationExtension(project))
-
- val scriptDefinitionProvider = CliScriptDefinitionProvider()
- project.registerService(ScriptDefinitionProvider::class.java, scriptDefinitionProvider)
- project.registerService(
- ScriptDependenciesProvider::class.java,
- CliScriptDependenciesProvider(project)
- )
- SyntheticResolveExtension.registerExtension(project, ScriptingResolveExtension())
-
- val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
- if (messageCollector != null) {
- project.registerService(ScriptReportSink::class.java,
- CliScriptReportSink(messageCollector)
- )
- }
- }
-}
-
-
fun configureScriptDefinitions(
scriptTemplates: List,
configuration: CompilerConfiguration,
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/scriptingResolveExtension.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingResolveExtension.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/scriptingResolveExtension.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingResolveExtension.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/KotlinScriptDefinitionAdapterFromNewAPI.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt
similarity index 97%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/KotlinScriptDefinitionAdapterFromNewAPI.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt
index d63c50b7ab1..4b44261603d 100644
--- a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/KotlinScriptDefinitionAdapterFromNewAPI.kt
+++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt
@@ -1,9 +1,9 @@
/*
- * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
+ * Copyright 2010-2019 JetBrains s.r.o. 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.compiler.plugin
+package org.jetbrains.kotlin.scripting.compiler.plugin.definitions
import com.intellij.openapi.fileTypes.LanguageFileType
import org.jetbrains.kotlin.idea.KotlinFileType
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/LazyScriptDefinitionFromDiscoveredClass.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/LazyScriptDefinitionFromDiscoveredClass.kt
similarity index 92%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/LazyScriptDefinitionFromDiscoveredClass.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/LazyScriptDefinitionFromDiscoveredClass.kt
index aa741da96d7..584ac5b57fa 100644
--- a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/LazyScriptDefinitionFromDiscoveredClass.kt
+++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/LazyScriptDefinitionFromDiscoveredClass.kt
@@ -1,14 +1,9 @@
/*
- * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
+ * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
-/*
- * Copyright 2010-2018 JetBrains s.r.o. 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.compiler.plugin
+package org.jetbrains.kotlin.scripting.compiler.plugin.definitions
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptiDefinitionsFromClasspathDiscoverySource.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt
similarity index 93%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptiDefinitionsFromClasspathDiscoverySource.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt
index b03a34d7156..413c871f231 100644
--- a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptiDefinitionsFromClasspathDiscoverySource.kt
+++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt
@@ -1,9 +1,9 @@
/*
- * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
+ * Copyright 2010-2019 JetBrains s.r.o. 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.compiler.plugin
+package org.jetbrains.kotlin.scripting.compiler.plugin.definitions
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
@@ -136,7 +136,12 @@ internal fun loadScriptTemplatesFromClasspath(
else buildSequence {
// trying the direct classloading from baseClassloader first, since this is the most performant variant
val (initialLoadedDefinitions, initialNotFoundTemplates) = scriptTemplates.partitionMapNotNull {
- loadScriptDefinition(baseClassLoader, it, scriptResolverEnv, messageCollector)
+ loadScriptDefinition(
+ baseClassLoader,
+ it,
+ scriptResolverEnv,
+ messageCollector
+ )
}
initialLoadedDefinitions.forEach {
yield(it)
@@ -144,7 +149,8 @@ internal fun loadScriptTemplatesFromClasspath(
// then searching the remaining templates in the supplied classpath
var remainingTemplates = initialNotFoundTemplates
- val classpathAndLoader = LazyClasspathWithClassLoader(baseClassLoader) { classpath + dependenciesClasspath }
+ val classpathAndLoader =
+ LazyClasspathWithClassLoader(baseClassLoader) { classpath + dependenciesClasspath }
for (dep in classpath) {
if (remainingTemplates.isEmpty()) break
@@ -161,7 +167,10 @@ internal fun loadScriptTemplatesFromClasspath(
else -> {
// assuming that invalid classpath entries will be reported elsewhere anyway, so do not spam user with additional warnings here
messageCollector.report(CompilerMessageSeverity.LOGGING, "Configure scripting: Unknown classpath entry $dep")
- DefinitionsLoadPartitionResult(listOf(), remainingTemplates)
+ DefinitionsLoadPartitionResult(
+ listOf(),
+ remainingTemplates
+ )
}
}
if (loadedDefinitions.isNotEmpty()) {
@@ -202,7 +211,13 @@ private inline fun List.partitionLoadDefinitions(
for (definitionName in this) {
val classBytes = getBytes(definitionName)
val definition = classBytes?.let {
- loadScriptDefinition(it, definitionName, classpathAndLoader, scriptResolverEnv, messageCollector)
+ loadScriptDefinition(
+ it,
+ definitionName,
+ classpathAndLoader,
+ scriptResolverEnv,
+ messageCollector
+ )
}
when {
definition != null -> loaded.add(definition)
@@ -242,7 +257,12 @@ private fun loadScriptDefinition(
for (ann in anns) {
var def: KotlinScriptDefinition? = null
if (ann.name == KotlinScript::class.simpleName) {
- def = LazyScriptDefinitionFromDiscoveredClass(anns, templateClassName, classpathAndLoader.classpath, messageCollector)
+ def = LazyScriptDefinitionFromDiscoveredClass(
+ anns,
+ templateClassName,
+ classpathAndLoader.classpath,
+ messageCollector
+ )
} else if (ann.name == ScriptTemplateDefinition::class.simpleName) {
val templateClass = classpathAndLoader.classLoader.loadClass(templateClassName).kotlin
def = KotlinScriptDefinitionFromAnnotatedTemplate(templateClass, scriptResolverEnv, classpathAndLoader.classpath)
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/asmBasedAnnotationsLoading.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/asmBasedAnnotationsLoading.kt
similarity index 91%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/asmBasedAnnotationsLoading.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/asmBasedAnnotationsLoading.kt
index 49abd952bc9..516b4f44c92 100644
--- a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/asmBasedAnnotationsLoading.kt
+++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/asmBasedAnnotationsLoading.kt
@@ -1,9 +1,9 @@
/*
- * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
+ * Copyright 2010-2019 JetBrains s.r.o. 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.compiler.plugin
+package org.jetbrains.kotlin.scripting.compiler.plugin.definitions
import org.jetbrains.org.objectweb.asm.*
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/definitions.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/definitions.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/definitions.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/definitions.kt
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
new file mode 100644
index 00000000000..66cca47a5ef
--- /dev/null
+++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/pluginRegisrar.kt
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2010-2019 JetBrains s.r.o. 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.compiler.plugin
+
+import com.intellij.mock.MockProject
+import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
+import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
+import org.jetbrains.kotlin.config.CompilerConfiguration
+import org.jetbrains.kotlin.extensions.CompilerConfigurationExtension
+import org.jetbrains.kotlin.resolve.extensions.SyntheticResolveExtension
+import org.jetbrains.kotlin.script.ScriptDefinitionProvider
+import org.jetbrains.kotlin.script.ScriptDependenciesProvider
+import org.jetbrains.kotlin.script.ScriptReportSink
+import org.jetbrains.kotlin.scripting.legacy.CliScriptDefinitionProvider
+import org.jetbrains.kotlin.scripting.legacy.CliScriptDependenciesProvider
+import org.jetbrains.kotlin.scripting.legacy.CliScriptReportSink
+
+class ScriptingCompilerConfigurationComponentRegistrar : ComponentRegistrar {
+ override fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration) {
+ CompilerConfigurationExtension.registerExtension(project,
+ ScriptingCompilerConfigurationExtension(
+ project
+ )
+ )
+
+ val scriptDefinitionProvider = CliScriptDefinitionProvider()
+ project.registerService(ScriptDefinitionProvider::class.java, scriptDefinitionProvider)
+ project.registerService(
+ ScriptDependenciesProvider::class.java,
+ CliScriptDependenciesProvider(project)
+ )
+ SyntheticResolveExtension.registerExtension(project,
+ ScriptingResolveExtension()
+ )
+
+ val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
+ if (messageCollector != null) {
+ project.registerService(
+ ScriptReportSink::class.java,
+ CliScriptReportSink(messageCollector)
+ )
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptClassMemberScope.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptClassMemberScope.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptClassMemberScope.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptClassMemberScope.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptDescriptor.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptDescriptor.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptDescriptor.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptDescriptor.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ReplResultPropertyDescriptor.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ReplResultPropertyDescriptor.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ReplResultPropertyDescriptor.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ReplResultPropertyDescriptor.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertiesDescriptor.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertiesDescriptor.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertiesDescriptor.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertiesDescriptor.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertyDescriptor.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertyDescriptor.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertyDescriptor.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertyDescriptor.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/scriptDescriptorUtil.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/scriptDescriptorUtil.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/scriptDescriptorUtil.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/scriptDescriptorUtil.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDefinitionProvider.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDefinitionProvider.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDefinitionProvider.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDefinitionProvider.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDependenciesProvider.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDependenciesProvider.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDependenciesProvider.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDependenciesProvider.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/legacy/CliScriptReportSink.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptReportSink.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/legacy/CliScriptReportSink.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptReportSink.kt
diff --git a/plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/legacy/LazyScriptDefinitionProvider.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/LazyScriptDefinitionProvider.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/src/org/jetbrains/kotlin/scripting/legacy/LazyScriptDefinitionProvider.kt
rename to plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/LazyScriptDefinitionProvider.kt
diff --git a/plugins/scripting/scripting-cli/testData/lazyDefinitions/definitions/TestScriptWithOtherAnnotation.kt b/plugins/scripting/scripting-compiler/testData/lazyDefinitions/definitions/TestScriptWithOtherAnnotation.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/testData/lazyDefinitions/definitions/TestScriptWithOtherAnnotation.kt
rename to plugins/scripting/scripting-compiler/testData/lazyDefinitions/definitions/TestScriptWithOtherAnnotation.kt
diff --git a/plugins/scripting/scripting-cli/testData/lazyDefinitions/definitions/TestScriptWithReceivers.kt b/plugins/scripting/scripting-compiler/testData/lazyDefinitions/definitions/TestScriptWithReceivers.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/testData/lazyDefinitions/definitions/TestScriptWithReceivers.kt
rename to plugins/scripting/scripting-compiler/testData/lazyDefinitions/definitions/TestScriptWithReceivers.kt
diff --git a/plugins/scripting/scripting-cli/testData/lazyDefinitions/definitions/TestScriptWithSimpleEnvVars.kt b/plugins/scripting/scripting-compiler/testData/lazyDefinitions/definitions/TestScriptWithSimpleEnvVars.kt
similarity index 100%
rename from plugins/scripting/scripting-cli/testData/lazyDefinitions/definitions/TestScriptWithSimpleEnvVars.kt
rename to plugins/scripting/scripting-compiler/testData/lazyDefinitions/definitions/TestScriptWithSimpleEnvVars.kt
diff --git a/plugins/scripting/scripting-cli/testData/lazyDefinitions/scripts/simpleEnvVars.2.kts b/plugins/scripting/scripting-compiler/testData/lazyDefinitions/scripts/simpleEnvVars.2.kts
similarity index 100%
rename from plugins/scripting/scripting-cli/testData/lazyDefinitions/scripts/simpleEnvVars.2.kts
rename to plugins/scripting/scripting-compiler/testData/lazyDefinitions/scripts/simpleEnvVars.2.kts
diff --git a/plugins/scripting/scripting-cli/testData/lazyDefinitions/scripts/stringReceiver.1.kts b/plugins/scripting/scripting-compiler/testData/lazyDefinitions/scripts/stringReceiver.1.kts
similarity index 100%
rename from plugins/scripting/scripting-cli/testData/lazyDefinitions/scripts/stringReceiver.1.kts
rename to plugins/scripting/scripting-compiler/testData/lazyDefinitions/scripts/stringReceiver.1.kts
diff --git a/plugins/scripting/scripting-cli/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt
similarity index 93%
rename from plugins/scripting/scripting-cli/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt
rename to plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt
index 9a8af27f801..4f46f1939c1 100644
--- a/plugins/scripting/scripting-cli/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt
+++ b/plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingCompilerPluginTest.kt
@@ -20,6 +20,9 @@ import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.JVMConfigurationKeys
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.SCRIPT_DEFINITION_MARKERS_PATH
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.discoverScriptTemplatesInClasspath
+import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.loadScriptTemplatesFromClasspath
import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.TestCaseWithTmpdir
@@ -130,7 +133,12 @@ class ScriptingCompilerPluginTest : TestCaseWithTmpdir() {
}
val lazyDefsSeq =
- discoverScriptTemplatesInClasspath(listOf(defsOut), this::class.java.classLoader, emptyMap(), messageCollector)
+ discoverScriptTemplatesInClasspath(
+ listOf(defsOut),
+ this::class.java.classLoader,
+ emptyMap(),
+ messageCollector
+ )
assertTrue(messageCollector.messages.isEmpty()) {
"Unexpected messages from discovery sequence (should be empty):\n$messageCollector"
@@ -196,7 +204,12 @@ class ScriptingCompilerPluginTest : TestCaseWithTmpdir() {
messageCollector.clear()
- discoverScriptTemplatesInClasspath(listOf(defsOut), this::class.java.classLoader, emptyMap(), messageCollector).toList()
+ discoverScriptTemplatesInClasspath(
+ listOf(defsOut),
+ this::class.java.classLoader,
+ emptyMap(),
+ messageCollector
+ ).toList()
assertTrue(
messageCollector.messages.isNotEmpty()
diff --git a/settings.gradle b/settings.gradle
index b754ab9d3fc..c12cc2f0649 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -327,8 +327,8 @@ project(':kotlin-scripting-jvm').projectDir = "$rootDir/libraries/scripting/jvm"
project(':kotlin-scripting-jvm-host').projectDir = "$rootDir/libraries/scripting/jvm-host" as File
project(':kotlin-scripting-jvm-host-embeddable').projectDir = "$rootDir/libraries/scripting/jvm-host-embeddable" as File
project(':kotlin-scripting-intellij').projectDir = "$rootDir/libraries/scripting/intellij" as File
-project(':kotlin-scripting-compiler').projectDir = "$rootDir/plugins/scripting/scripting-cli" as File
-project(':kotlin-scripting-compiler-embeddable').projectDir = "$rootDir/plugins/scripting/scripting-embeddable" as File
+project(':kotlin-scripting-compiler').projectDir = "$rootDir/plugins/scripting/scripting-compiler" as File
+project(':kotlin-scripting-compiler-embeddable').projectDir = "$rootDir/plugins/scripting/scripting-compiler-embeddable" as File
project(':kotlin-scripting-idea').projectDir = "$rootDir/plugins/scripting/scripting-idea" as File
project(':kotlin-main-kts').projectDir = "$rootDir/libraries/tools/kotlin-main-kts" as File
project(':kotlin-main-kts-test').projectDir = "$rootDir/libraries/tools/kotlin-main-kts-test" as File