diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt index e82c72ec7f3..73b405bb1c4 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt @@ -203,10 +203,10 @@ class K2JVMCompiler : CLICompiler() { val libPath = PathUtil.kotlinPathsForCompiler.libPath.takeIf { it.exists() && it.isDirectory } ?: File(".") with(PathUtil) { val jars = arrayOf( - KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_COMMON_JAR, - KOTLIN_SCRIPTING_JVM_JAR + KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_IMPL_JAR, + KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR ).mapNotNull { File(libPath, it).takeIf { it.exists() }?.canonicalPath } - if (jars.size == 3) { + if (jars.size == 4) { pluginClasspaths = jars + pluginClasspaths } } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/script/scriptTestUtil.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/script/scriptTestUtil.kt index 8ddbf026d22..69e5c7b145f 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/script/scriptTestUtil.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/script/scriptTestUtil.kt @@ -15,6 +15,7 @@ fun loadScriptingPlugin(configuration: CompilerConfiguration) { val pluginClasspath = with (PathUtil) { listOf( KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, + KOTLIN_SCRIPTING_IMPL_JAR, KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR ).map { File(libPath, it).path } diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/AbstractCustomScriptCodegenTest.kt b/compiler/tests/org/jetbrains/kotlin/codegen/AbstractCustomScriptCodegenTest.kt index 483325199f1..3f3cf3e0044 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/AbstractCustomScriptCodegenTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/codegen/AbstractCustomScriptCodegenTest.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.test.TestJdkKind import org.jetbrains.kotlin.utils.PathUtil import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMMON_JAR import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR +import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_IMPL_JAR import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_JVM_JAR import org.junit.Assert import java.io.File @@ -59,8 +60,8 @@ abstract class AbstractCustomScriptCodegenTest : CodegenTestCase() { File(TestScriptWithReceivers::class.java.protectionDomain.codeSource.location.toURI().path) + with(PathUtil.kotlinPathsForDistDirectory) { arrayOf( - KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_COMMON_JAR, - KOTLIN_SCRIPTING_JVM_JAR + KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_IMPL_JAR, + KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR ).mapNotNull { File(libPath, it).takeIf { it.exists() } } } } diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/CustomScriptCodegenTest.kt b/compiler/tests/org/jetbrains/kotlin/codegen/CustomScriptCodegenTest.kt index 3250cf28cdb..34652156e94 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/CustomScriptCodegenTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/codegen/CustomScriptCodegenTest.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.test.TestJdkKind import org.jetbrains.kotlin.utils.PathUtil import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMMON_JAR import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR +import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_IMPL_JAR import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_JVM_JAR import java.io.File import kotlin.reflect.KClass @@ -49,8 +50,8 @@ class CustomScriptCodegenTest : CodegenTestCase() { File(TestScriptWithReceivers::class.java.protectionDomain.codeSource.location.toURI().path) + with(PathUtil.kotlinPathsForDistDirectory) { arrayOf( - KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_COMMON_JAR, - KOTLIN_SCRIPTING_JVM_JAR + KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_IMPL_JAR, + KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR ).mapNotNull { File(libPath, it).also { assertTrue("$it not found", it.exists()) } } } diff --git a/compiler/tests/org/jetbrains/kotlin/scripts/CollectScriptCompilationDependenciesTest.kt b/compiler/tests/org/jetbrains/kotlin/scripts/CollectScriptCompilationDependenciesTest.kt index 6b14ecac4ad..ccedcf94305 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.definitions.KotlinScriptDefinitionAdapterFromNewAPI +import org.jetbrains.kotlin.scripting.shared.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 b13af15f1ba..f499652aa99 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.definitions.KotlinScriptDefinitionAdapterFromNewAPI +import org.jetbrains.kotlin.scripting.shared.definitions.KotlinScriptDefinitionAdapterFromNewAPI import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.TestJdkKind diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/KotlinPaths.kt b/compiler/util/src/org/jetbrains/kotlin/utils/KotlinPaths.kt index fc0d0f96d57..be71b6a0ffc 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/KotlinPaths.kt +++ b/compiler/util/src/org/jetbrains/kotlin/utils/KotlinPaths.kt @@ -93,6 +93,7 @@ interface KotlinPaths { Trove4j(PathUtil.TROVE4J_NAME), Compiler(PathUtil.KOTLIN_COMPILER_NAME), ScriptingPlugin(PathUtil.KOTLIN_SCRIPTING_COMPILER_PLUGIN_NAME), + ScriptingImpl(PathUtil.KOTLIN_SCRIPTING_IMPL_NAME), ScriptingLib(PathUtil.KOTLIN_SCRIPTING_COMMON_NAME), ScriptingJvmLib(PathUtil.KOTLIN_SCRIPTING_JVM_NAME), } @@ -100,7 +101,7 @@ interface KotlinPaths { enum class ClassPaths(val contents: List = emptyList()) { Empty(), Compiler(Jar.Compiler, Jar.StdLib, Jar.Reflect, Jar.ScriptRuntime, Jar.Trove4j), - CompilerWithScripting(Compiler, Jar.ScriptingPlugin, Jar.ScriptingLib, Jar.ScriptingJvmLib) + CompilerWithScripting(Compiler, Jar.ScriptingPlugin, Jar.ScriptingImpl, Jar.ScriptingLib, Jar.ScriptingJvmLib) ; constructor(vararg jars: Jar) : this(jars.asList()) diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt b/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt index 1aa23746730..0e868c6fb61 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt +++ b/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt @@ -67,6 +67,8 @@ object PathUtil { const val KOTLIN_SCRIPTING_JVM_JAR = "$KOTLIN_SCRIPTING_JVM_NAME.jar" const val KOTLIN_SCRIPTING_COMPILER_PLUGIN_NAME = "kotlin-scripting-compiler" const val KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR = "$KOTLIN_SCRIPTING_COMPILER_PLUGIN_NAME.jar" + const val KOTLIN_SCRIPTING_IMPL_NAME = "kotlin-scripting-impl" + const val KOTLIN_SCRIPTING_IMPL_JAR = "$KOTLIN_SCRIPTING_IMPL_NAME.jar" const val KOTLIN_TEST_NAME = "kotlin-test" const val KOTLIN_TEST_JAR = "$KOTLIN_TEST_NAME.jar" diff --git a/idea/build.gradle.kts b/idea/build.gradle.kts index 2bbb4eed38c..8c9c5507ebf 100644 --- a/idea/build.gradle.kts +++ b/idea/build.gradle.kts @@ -91,7 +91,7 @@ dependencies { testRuntime(project(":kotlin-noarg-compiler-plugin")) testRuntime(project(":plugins:annotation-based-compiler-plugins-ide-support")) { isTransitive = false } testRuntime(project(":kotlin-scripting-idea")) { isTransitive = false } - testRuntime(project(":kotlin-scripting-compiler")) + testRuntime(project(":kotlin-scripting-impl")) testRuntime(project(":sam-with-receiver-ide-plugin")) { isTransitive = false } testRuntime(project(":kotlinx-serialization-compiler-plugin")) testRuntime(project(":kotlinx-serialization-ide-plugin")) { isTransitive = false } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/getModuleInfo.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/getModuleInfo.kt index 78703aeb8cb..167b88da557 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/getModuleInfo.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/getModuleInfo.kt @@ -27,7 +27,7 @@ import org.jetbrains.kotlin.idea.util.isInSourceContentWithoutInjected import org.jetbrains.kotlin.idea.util.isKotlinBinary import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getParentOfType -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.scriptDefinitionByFileName +import org.jetbrains.kotlin.scripting.shared.definitions.scriptDefinitionByFileName import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.sure import org.jetbrains.kotlin.utils.yieldIfNotNull diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java index cc506d610f9..a5f5c76ffca 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.psi.KtPsiFactoryKt; import org.jetbrains.kotlin.resolve.TargetPlatform; import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform; import org.jetbrains.kotlin.script.KotlinScriptDefinition; -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.DefinitionsKt; +import org.jetbrains.kotlin.scripting.shared.definitions.DefinitionsKt; public class TargetPlatformDetector { public static final TargetPlatformDetector INSTANCE = new TargetPlatformDetector(); diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/searchUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/searchUtil.kt index 985e772ceef..e25221a0849 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/searchUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/searchUtil.kt @@ -38,7 +38,7 @@ import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtNamedDeclaration -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.findScriptDefinition import org.jetbrains.kotlin.types.expressions.OperatorConventions import java.util.* diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt index b033eb95dec..e0a60d65cba 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/util/ProjectRootsUtil.kt @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager import org.jetbrains.kotlin.idea.decompiler.builtIns.KotlinBuiltInFileType import org.jetbrains.kotlin.idea.decompiler.js.KotlinJavaScriptMetaFileType import org.jetbrains.kotlin.idea.util.application.runReadAction -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.findScriptDefinition import kotlin.script.experimental.location.ScriptExpectedLocation abstract class KotlinBinaryExtension(val fileType: FileType) { diff --git a/idea/idea-core/build.gradle.kts b/idea/idea-core/build.gradle.kts index d47386c1577..79d1e8ebd66 100644 --- a/idea/idea-core/build.gradle.kts +++ b/idea/idea-core/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { compile(project(":idea:ide-common")) compile(project(":idea:idea-jps-common")) compile(project(":plugins:android-extensions-compiler")) - compile(project(":kotlin-scripting-compiler")) + compile(project(":kotlin-scripting-impl")) compile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false } compile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-jdk8")) { isTransitive = false } compileOnly(intellijCoreDep()) { includeJars("intellij-core") } 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 654bd82540a..02e8752d1c5 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,8 +42,8 @@ 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.definitions.KotlinScriptDefinitionAdapterFromNewAPI -import org.jetbrains.kotlin.scripting.legacy.LazyScriptDefinitionProvider +import org.jetbrains.kotlin.scripting.shared.definitions.KotlinScriptDefinitionAdapterFromNewAPI +import org.jetbrains.kotlin.scripting.shared.definitions.LazyScriptDefinitionProvider import org.jetbrains.kotlin.utils.PathUtil import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull import org.jetbrains.kotlin.utils.addToStdlib.flattenTo diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesManager.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesManager.kt index ab7655e1b21..f283b800a2b 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesManager.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesManager.kt @@ -25,7 +25,7 @@ import com.intellij.util.io.URLUtil import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.idea.core.script.dependencies.SyncScriptDependenciesLoader import org.jetbrains.kotlin.script.ScriptDependenciesProvider -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.findScriptDefinition import java.io.File import kotlin.script.experimental.dependencies.ScriptDependencies diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesUpdater.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesUpdater.kt index 9765fb93005..d60e18c48aa 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesUpdater.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesUpdater.kt @@ -41,8 +41,8 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.NotNullableUserDataProperty import org.jetbrains.kotlin.script.KotlinScriptDefinition import org.jetbrains.kotlin.script.LegacyResolverWrapper -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.scriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.findScriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.scriptDefinition import kotlin.script.experimental.dependencies.AsyncDependenciesResolver import kotlin.script.experimental.dependencies.ScriptDependencies diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/AsyncScriptDependenciesLoader.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/AsyncScriptDependenciesLoader.kt index 2d09ddd0650..6725b9c9866 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/AsyncScriptDependenciesLoader.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/AsyncScriptDependenciesLoader.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings import org.jetbrains.kotlin.script.KotlinScriptDefinition import org.jetbrains.kotlin.script.LegacyResolverWrapper import org.jetbrains.kotlin.script.asResolveFailure -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.findScriptDefinition import java.util.concurrent.ConcurrentLinkedQueue import java.util.concurrent.locks.ReentrantReadWriteLock import kotlin.concurrent.write diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/KotlinScriptResolveScopeProvider.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/KotlinScriptResolveScopeProvider.kt index 88fed5d44f2..8ef1b2b9d8a 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/KotlinScriptResolveScopeProvider.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/KotlinScriptResolveScopeProvider.kt @@ -23,7 +23,7 @@ import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager import org.jetbrains.kotlin.idea.core.script.StandardIdeScriptDefinition import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.findScriptDefinition class KotlinScriptResolveScopeProvider : ResolveScopeProvider() { companion object { 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 d845fddd5a5..13ca461a8a7 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 @@ -29,7 +29,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.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase +import org.jetbrains.kotlin.scripting.shared.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/resources/META-INF/plugin-kotlin-extensions.xml b/idea/resources/META-INF/plugin-kotlin-extensions.xml index fd85a88f062..eed8e23982c 100644 --- a/idea/resources/META-INF/plugin-kotlin-extensions.xml +++ b/idea/resources/META-INF/plugin-kotlin-extensions.xml @@ -29,7 +29,7 @@ - - + + \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt b/idea/src/org/jetbrains/kotlin/idea/script/BridgeDefinitionsContributor.kt index 09a2a23e945..56659ec3d53 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.definitions.ScriptDefinitionsFromClasspathDiscoverySource +import org.jetbrains.kotlin.scripting.shared.definitions.ScriptDefinitionsFromClasspathDiscoverySource import kotlin.script.experimental.intellij.ScriptDefinitionsProvider class BridgeScriptDefinitionsContributor(private val project: Project) : ScriptDefinitionContributor { 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 742b89d771c..8ea7fc6f1e5 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.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase +import org.jetbrains.kotlin.scripting.shared.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 c6613334567..ddafbf70b8b 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.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase +import org.jetbrains.kotlin.scripting.shared.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase class MultipleScriptDefinitionsChecker(private val project: Project) : EditorNotifications.Provider() { diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/util/jvmClasspathUtil.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/util/jvmClasspathUtil.kt index 978be70394d..70f51422695 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/util/jvmClasspathUtil.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/util/jvmClasspathUtil.kt @@ -24,6 +24,7 @@ internal const val KOTLIN_JAVA_SCRIPT_RUNTIME_JAR = "kotlin-script-runtime.jar" internal const val TROVE4J_JAR = "trove4j.jar" internal const val KOTLIN_SCRIPTING_COMPILER_JAR = "kotlin-scripting-compiler.jar" internal const val KOTLIN_SCRIPTING_COMPILER_EMBEDDABLE_JAR = "kotlin-scripting-compiler-embeddable.jar" +internal const val KOTLIN_SCRIPTING_IMPL_JAR = "kotlin-scripting-impl.jar" internal const val KOTLIN_SCRIPTING_COMMON_JAR = "kotlin-scripting-common.jar" internal const val KOTLIN_SCRIPTING_JVM_JAR = "kotlin-scripting-jvm.jar" @@ -202,6 +203,7 @@ object KotlinJars { ) val kotlinScriptingJars = if (withScripting) listOf( KOTLIN_SCRIPTING_COMPILER_JAR, + KOTLIN_SCRIPTING_IMPL_JAR, KOTLIN_SCRIPTING_COMPILER_EMBEDDABLE_JAR, KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR 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 bb1b315c5d3..01e7c8b52cc 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.definitions.ScriptDefinitionsFromClasspathDiscoverySource +import org.jetbrains.kotlin.scripting.shared.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-compiler-embeddable/build.gradle.kts b/plugins/scripting/scripting-compiler-embeddable/build.gradle.kts index d6e86fd1dc9..272134a381b 100644 --- a/plugins/scripting/scripting-compiler-embeddable/build.gradle.kts +++ b/plugins/scripting/scripting-compiler-embeddable/build.gradle.kts @@ -7,6 +7,7 @@ description = "Kotlin Scripting Compiler Plugin for embeddable compiler" val packedJars by configurations.creating dependencies { + packedJars(project(":kotlin-scripting-impl")) { isTransitive = false } packedJars(project(":kotlin-scripting-compiler")) { isTransitive = false } packedJars(project(":kotlin-scripting-common")) { isTransitive = false } packedJars(project(":kotlin-scripting-jvm")) { isTransitive = false } diff --git a/plugins/scripting/scripting-compiler/build.gradle.kts b/plugins/scripting/scripting-compiler/build.gradle.kts index 5d3284fcbcb..173b122c138 100644 --- a/plugins/scripting/scripting-compiler/build.gradle.kts +++ b/plugins/scripting/scripting-compiler/build.gradle.kts @@ -14,10 +14,10 @@ dependencies { compileOnly(project(":compiler:cli")) compile(project(":kotlin-scripting-common")) compile(project(":kotlin-scripting-jvm")) + compile(project(":kotlin-scripting-impl")) compile(kotlinStdlib()) compileOnly(project(":kotlin-reflect-api")) compileOnly(intellijCoreDep()) { includeJars("intellij-core") } - compileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) } testCompile(project(":compiler:frontend")) testCompile(project(":compiler:frontend.script")) @@ -51,8 +51,6 @@ javadocJar() dist() -ideaPlugin() - projectTest { workingDir = rootDir } 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 84f5897b7e0..673e183c0d5 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 @@ -13,6 +13,7 @@ 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.shared.KOTLIN_SCRIPTING_PLUGIN_ID object ScriptingConfigurationKeys { val DISABLE_SCRIPTING_PLUGIN_OPTION: CompilerConfigurationKey = @@ -63,10 +64,9 @@ class ScriptingCommandLineProcessor : CommandLineProcessor { required = false, allowMultipleOccurrences = true ) - val PLUGIN_ID = "kotlin.scripting" } - override val pluginId = PLUGIN_ID + override val pluginId = KOTLIN_SCRIPTING_PLUGIN_ID override val pluginOptions = listOf( DISABLE_SCRIPTING_PLUGIN_OPTION, 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 b4f8925a336..f2b5fd200f6 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 @@ -17,8 +17,8 @@ import org.jetbrains.kotlin.extensions.CompilerConfigurationExtension import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.script.ScriptDefinitionProvider 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.shared.definitions.ScriptDefinitionsFromClasspathDiscoverySource +import org.jetbrains.kotlin.scripting.shared.definitions.loadScriptTemplatesFromClasspath import org.jetbrains.kotlin.scripting.legacy.CliScriptDefinitionProvider import java.io.File 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 68dc4325fd1..d29dbc12434 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 @@ -20,6 +20,8 @@ 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 +import org.jetbrains.kotlin.scripting.shared.extensions.ScriptExtraImportsProviderExtension +import org.jetbrains.kotlin.scripting.shared.extensions.ScriptingResolveExtension class ScriptingCompilerConfigurationComponentRegistrar : ComponentRegistrar { override fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration) { @@ -34,7 +36,9 @@ class ScriptingCompilerConfigurationComponentRegistrar : ComponentRegistrar { CliScriptDependenciesProvider(project) ) SyntheticResolveExtension.registerExtension(project, ScriptingResolveExtension()) - ExtraImportsProviderExtension.registerExtension(project, ScriptExtraImportsProviderExtension()) + ExtraImportsProviderExtension.registerExtension(project, + ScriptExtraImportsProviderExtension() + ) val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY) if (messageCollector != null) { diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDefinitionProvider.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDefinitionProvider.kt index 96bf0c60103..668d85bb91f 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDefinitionProvider.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDefinitionProvider.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.scripting.legacy import org.jetbrains.kotlin.script.KotlinScriptDefinition import org.jetbrains.kotlin.script.ScriptDefinitionsSource import org.jetbrains.kotlin.script.StandardScriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.LazyScriptDefinitionProvider import kotlin.concurrent.write open class CliScriptDefinitionProvider : LazyScriptDefinitionProvider() { diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDependenciesProvider.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDependenciesProvider.kt index 7d0d8721d17..600bd429766 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDependenciesProvider.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/CliScriptDependenciesProvider.kt @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.script.ScriptContentLoader import org.jetbrains.kotlin.script.ScriptDependenciesProvider import org.jetbrains.kotlin.script.ScriptReportSink import org.jetbrains.kotlin.script.adjustByDefinition -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition +import org.jetbrains.kotlin.scripting.shared.definitions.findScriptDefinition import java.io.File import java.util.concurrent.locks.ReentrantReadWriteLock import kotlin.concurrent.read 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 4f46f1939c1..8a1ad624a93 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 @@ -20,9 +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.scripting.shared.definitions.SCRIPT_DEFINITION_MARKERS_PATH +import org.jetbrains.kotlin.scripting.shared.definitions.discoverScriptTemplatesInClasspath +import org.jetbrains.kotlin.scripting.shared.definitions.loadScriptTemplatesFromClasspath 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 0509fa7da37..916fb5b3a6f 100644 --- a/plugins/scripting/scripting-idea/build.gradle.kts +++ b/plugins/scripting/scripting-idea/build.gradle.kts @@ -7,7 +7,7 @@ plugins { } dependencies { - compile(project(":kotlin-scripting-compiler")) + compile(project(":kotlin-scripting-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 b72da4d90ad..94f80912dc3 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,13 +8,13 @@ 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.compiler.plugin.ScriptingCommandLineProcessor +import org.jetbrains.kotlin.scripting.shared.KOTLIN_SCRIPTING_PLUGIN_ID import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData import java.io.File class ScriptingGradleProjectImportHandler : GradleProjectImportHandler { - val compilerPluginId = ScriptingCommandLineProcessor.PLUGIN_ID + val compilerPluginId = KOTLIN_SCRIPTING_PLUGIN_ID val gradlePluginJars = listOf( "scripting-gradle", // obsolete artifact name, only for compatibility with 1.2.5x, where it was introduced (and immediately dropped afterwards) "scripting-compiler", diff --git a/plugins/scripting/scripting-impl/build.gradle.kts b/plugins/scripting/scripting-impl/build.gradle.kts new file mode 100644 index 00000000000..d02cfcba75c --- /dev/null +++ b/plugins/scripting/scripting-impl/build.gradle.kts @@ -0,0 +1,48 @@ + +description = "Kotlin Scripting Implementation - shared part" + +plugins { + kotlin("jvm") + id("jps-compatible") +} + +dependencies { + compileOnly(project(":compiler:frontend")) + compileOnly(project(":compiler:frontend.java")) + compileOnly(project(":compiler:frontend.script")) + compileOnly(project(":compiler:psi")) + compileOnly(project(":compiler:cli-common")) + compile(project(":kotlin-scripting-common")) + compile(project(":kotlin-scripting-jvm")) + compile(kotlinStdlib()) + compileOnly(project(":kotlin-reflect-api")) + compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + compileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) } +} + +sourceSets { + "main" { projectDefault() } + "test" { projectDefault() } +} + +tasks.withType> { + kotlinOptions { + languageVersion = "1.2" + apiVersion = "1.2" + freeCompilerArgs += "-Xskip-metadata-version-check" + } +} + +publish() + +val jar = runtimeJar {} +sourcesJar() +javadocJar() + +dist() + +ideaPlugin() + +projectTest { + workingDir = rootDir +} diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt similarity index 98% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt index 4b44261603d..fcee474992d 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/KotlinScriptDefinitionAdapterFromNewAPI.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.definitions +package org.jetbrains.kotlin.scripting.shared.definitions import com.intellij.openapi.fileTypes.LanguageFileType import org.jetbrains.kotlin.idea.KotlinFileType diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/LazyScriptDefinitionFromDiscoveredClass.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/LazyScriptDefinitionFromDiscoveredClass.kt similarity index 93% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/LazyScriptDefinitionFromDiscoveredClass.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/LazyScriptDefinitionFromDiscoveredClass.kt index 584ac5b57fa..5ee8b6975b7 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/LazyScriptDefinitionFromDiscoveredClass.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/LazyScriptDefinitionFromDiscoveredClass.kt @@ -3,13 +3,15 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.definitions +package org.jetbrains.kotlin.scripting.shared.definitions import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import java.io.File import kotlin.script.experimental.annotations.KotlinScript -import kotlin.script.experimental.api.* +import kotlin.script.experimental.api.KotlinType +import kotlin.script.experimental.api.ScriptCompilationConfiguration +import kotlin.script.experimental.api.fileExtension import kotlin.script.experimental.host.ScriptingHostConfiguration import kotlin.script.experimental.host.configurationDependencies import kotlin.script.experimental.host.createCompilationConfigurationFromTemplate diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/LazyScriptDefinitionProvider.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/LazyScriptDefinitionProvider.kt similarity index 98% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/LazyScriptDefinitionProvider.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/LazyScriptDefinitionProvider.kt index 8487c792ee4..81bcec6fcd6 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/legacy/LazyScriptDefinitionProvider.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/LazyScriptDefinitionProvider.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.legacy +package org.jetbrains.kotlin.scripting.shared.definitions import com.intellij.ide.highlighter.JavaFileType import org.jetbrains.kotlin.idea.KotlinFileType diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt similarity index 99% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt index a28024aec15..b3431f53c4e 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/ScriptiDefinitionsFromClasspathDiscoverySource.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.definitions +package org.jetbrains.kotlin.scripting.shared.definitions import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector @@ -125,7 +125,7 @@ internal fun discoverScriptTemplatesInClasspath( } } -internal fun loadScriptTemplatesFromClasspath( +fun loadScriptTemplatesFromClasspath( scriptTemplates: List, classpath: List, dependenciesClasspath: List, diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/asmBasedAnnotationsLoading.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/asmBasedAnnotationsLoading.kt similarity index 95% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/asmBasedAnnotationsLoading.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/asmBasedAnnotationsLoading.kt index 516b4f44c92..7b1053d8ea1 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/asmBasedAnnotationsLoading.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/asmBasedAnnotationsLoading.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.definitions +package org.jetbrains.kotlin.scripting.shared.definitions import org.jetbrains.org.objectweb.asm.* diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/definitions.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/definitions.kt similarity index 97% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/definitions.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/definitions.kt index 5e071bb1c94..1da21b2f18b 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/definitions/definitions.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/definitions/definitions.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.definitions +package org.jetbrains.kotlin.scripting.shared.definitions import com.intellij.ide.highlighter.JavaClassFileType import com.intellij.openapi.fileTypes.FileTypeRegistry diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptExtraImportsProviderExtension.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/extensions/ScriptExtraImportsProviderExtension.kt similarity index 86% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptExtraImportsProviderExtension.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/extensions/ScriptExtraImportsProviderExtension.kt index 2b10f28b17f..3d20ac31a8c 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptExtraImportsProviderExtension.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/extensions/ScriptExtraImportsProviderExtension.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin +package org.jetbrains.kotlin.scripting.shared.extensions import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile @@ -29,6 +29,10 @@ class ScriptExtraImportsProviderExtension : ExtraImportsProviderExtension { override fun getExtraImports(ktFile: KtFile): Collection = ktFile.takeIf { it.isScript() }?.let { file -> val scriptDependencies = ScriptDependenciesProvider.getInstance(file.project)?.getScriptDependencies(file.originalFile) - scriptDependencies?.imports?.map { ScriptExtraImportImpl(ImportPath.fromString(it)) } + scriptDependencies?.imports?.map { + ScriptExtraImportImpl( + ImportPath.fromString(it) + ) + } }.orEmpty() } \ No newline at end of file diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingResolveExtension.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/extensions/ScriptingResolveExtension.kt similarity index 89% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingResolveExtension.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/extensions/ScriptingResolveExtension.kt index 1c942a9b8f6..3e049435964 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/ScriptingResolveExtension.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/extensions/ScriptingResolveExtension.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin +package org.jetbrains.kotlin.scripting.shared.extensions import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.resolve.extensions.SyntheticResolveExtension import org.jetbrains.kotlin.resolve.lazy.LazyClassContext import org.jetbrains.kotlin.resolve.lazy.ResolveSession import org.jetbrains.kotlin.resolve.lazy.declarations.PackageMemberDeclarationProvider -import org.jetbrains.kotlin.scripting.compiler.plugin.resolve.LazyScriptDescriptor +import org.jetbrains.kotlin.scripting.shared.resolve.LazyScriptDescriptor class ScriptingResolveExtension : SyntheticResolveExtension { override fun generateSyntheticClasses( diff --git a/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/identifiers.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/identifiers.kt new file mode 100644 index 00000000000..318a165f562 --- /dev/null +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/identifiers.kt @@ -0,0 +1,8 @@ +/* + * 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.shared + +const val KOTLIN_SCRIPTING_PLUGIN_ID = "kotlin.scripting" diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptClassMemberScope.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/LazyScriptClassMemberScope.kt similarity index 98% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptClassMemberScope.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/LazyScriptClassMemberScope.kt index a4334a4d876..e7f59f27adf 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptClassMemberScope.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/LazyScriptClassMemberScope.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.resolve +package org.jetbrains.kotlin.scripting.shared.resolve import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.Annotations diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptDescriptor.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/LazyScriptDescriptor.kt similarity index 98% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptDescriptor.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/LazyScriptDescriptor.kt index 0fdca98529a..1b53c625bd8 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/LazyScriptDescriptor.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/LazyScriptDescriptor.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.resolve +package org.jetbrains.kotlin.scripting.shared.resolve import com.intellij.openapi.vfs.StandardFileSystems import com.intellij.openapi.vfs.VirtualFileManager @@ -36,7 +36,7 @@ import org.jetbrains.kotlin.resolve.source.toSourceElement import org.jetbrains.kotlin.script.KotlinScriptDefinition import org.jetbrains.kotlin.script.ScriptDependenciesProvider import org.jetbrains.kotlin.script.ScriptPriorities -import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.scriptDefinitionByFileName +import org.jetbrains.kotlin.scripting.shared.definitions.scriptDefinitionByFileName import org.jetbrains.kotlin.types.TypeSubstitutor import org.jetbrains.kotlin.types.typeUtil.isNothing import org.jetbrains.kotlin.types.typeUtil.isUnit diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ReplResultPropertyDescriptor.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ReplResultPropertyDescriptor.kt similarity index 94% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ReplResultPropertyDescriptor.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ReplResultPropertyDescriptor.kt index 780e04279fc..35864a24c34 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ReplResultPropertyDescriptor.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ReplResultPropertyDescriptor.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.resolve +package org.jetbrains.kotlin.scripting.shared.resolve import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.Annotations diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertiesDescriptor.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ScriptProvidedPropertiesDescriptor.kt similarity index 97% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertiesDescriptor.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ScriptProvidedPropertiesDescriptor.kt index a2213d95da8..dd703e0576d 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertiesDescriptor.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ScriptProvidedPropertiesDescriptor.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.resolve +package org.jetbrains.kotlin.scripting.shared.resolve import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.impl.MutableClassDescriptor diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertyDescriptor.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ScriptProvidedPropertyDescriptor.kt similarity index 97% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertyDescriptor.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ScriptProvidedPropertyDescriptor.kt index d5ff73b7f88..a2d428b14ef 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/ScriptProvidedPropertyDescriptor.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/ScriptProvidedPropertyDescriptor.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.resolve +package org.jetbrains.kotlin.scripting.shared.resolve import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.Annotations diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/scriptDescriptorUtil.kt b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/scriptDescriptorUtil.kt similarity index 90% rename from plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/scriptDescriptorUtil.kt rename to plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/scriptDescriptorUtil.kt index c003b5c053f..5714a9b0f92 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/resolve/scriptDescriptorUtil.kt +++ b/plugins/scripting/scripting-impl/src/org/jetbrains/kotlin/scripting/shared/resolve/scriptDescriptorUtil.kt @@ -3,7 +3,7 @@ * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.compiler.plugin.resolve +package org.jetbrains.kotlin.scripting.shared.resolve import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName diff --git a/settings.gradle b/settings.gradle index a5848d459e7..37de5db713e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -169,6 +169,7 @@ include ":kotlin-build-common", ":kotlin-scripting-jvm-host", ":kotlin-scripting-jvm-host-embeddable", ":kotlin-scripting-intellij", + ":kotlin-scripting-impl", ":kotlin-scripting-compiler", ":kotlin-scripting-idea", ":kotlin-scripting-compiler-embeddable", @@ -328,6 +329,7 @@ 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-impl').projectDir = "$rootDir/plugins/scripting/scripting-impl" 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 diff --git a/ultimate/build.gradle.kts b/ultimate/build.gradle.kts index 78198ff4ad8..a639f54cdb1 100644 --- a/ultimate/build.gradle.kts +++ b/ultimate/build.gradle.kts @@ -98,7 +98,7 @@ dependencies { testRuntime(project(":allopen-ide-plugin")) { isTransitive = false } testRuntime(project(":kotlin-allopen-compiler-plugin")) { isTransitive = false } testRuntime(project(":kotlin-scripting-idea")) { isTransitive = false } - testRuntime(project(":kotlin-scripting-compiler")) { isTransitive = false } + testRuntime(project(":kotlin-scripting-impl")) { isTransitive = false } testRuntime(project(":kotlinx-serialization-compiler-plugin")) { isTransitive = false } testRuntime(project(":kotlinx-serialization-ide-plugin")) { isTransitive = false } testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false }