Move common idea and compiler parts of the scripting plugin to the new jar
This commit is contained in:
@@ -203,10 +203,10 @@ class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
|
|||||||
val libPath = PathUtil.kotlinPathsForCompiler.libPath.takeIf { it.exists() && it.isDirectory } ?: File(".")
|
val libPath = PathUtil.kotlinPathsForCompiler.libPath.takeIf { it.exists() && it.isDirectory } ?: File(".")
|
||||||
with(PathUtil) {
|
with(PathUtil) {
|
||||||
val jars = arrayOf(
|
val jars = arrayOf(
|
||||||
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_COMMON_JAR,
|
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_IMPL_JAR,
|
||||||
KOTLIN_SCRIPTING_JVM_JAR
|
KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR
|
||||||
).mapNotNull { File(libPath, it).takeIf { it.exists() }?.canonicalPath }
|
).mapNotNull { File(libPath, it).takeIf { it.exists() }?.canonicalPath }
|
||||||
if (jars.size == 3) {
|
if (jars.size == 4) {
|
||||||
pluginClasspaths = jars + pluginClasspaths
|
pluginClasspaths = jars + pluginClasspaths
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ fun loadScriptingPlugin(configuration: CompilerConfiguration) {
|
|||||||
val pluginClasspath = with (PathUtil) {
|
val pluginClasspath = with (PathUtil) {
|
||||||
listOf(
|
listOf(
|
||||||
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR,
|
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR,
|
||||||
|
KOTLIN_SCRIPTING_IMPL_JAR,
|
||||||
KOTLIN_SCRIPTING_COMMON_JAR,
|
KOTLIN_SCRIPTING_COMMON_JAR,
|
||||||
KOTLIN_SCRIPTING_JVM_JAR
|
KOTLIN_SCRIPTING_JVM_JAR
|
||||||
).map { File(libPath, it).path }
|
).map { File(libPath, it).path }
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.test.TestJdkKind
|
|||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMMON_JAR
|
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_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.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_JVM_JAR
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -59,8 +60,8 @@ abstract class AbstractCustomScriptCodegenTest : CodegenTestCase() {
|
|||||||
File(TestScriptWithReceivers::class.java.protectionDomain.codeSource.location.toURI().path) +
|
File(TestScriptWithReceivers::class.java.protectionDomain.codeSource.location.toURI().path) +
|
||||||
with(PathUtil.kotlinPathsForDistDirectory) {
|
with(PathUtil.kotlinPathsForDistDirectory) {
|
||||||
arrayOf(
|
arrayOf(
|
||||||
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_COMMON_JAR,
|
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_IMPL_JAR,
|
||||||
KOTLIN_SCRIPTING_JVM_JAR
|
KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR
|
||||||
).mapNotNull { File(libPath, it).takeIf { it.exists() } }
|
).mapNotNull { File(libPath, it).takeIf { it.exists() } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.test.TestJdkKind
|
|||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMMON_JAR
|
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_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.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_JVM_JAR
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
@@ -49,8 +50,8 @@ class CustomScriptCodegenTest : CodegenTestCase() {
|
|||||||
File(TestScriptWithReceivers::class.java.protectionDomain.codeSource.location.toURI().path) +
|
File(TestScriptWithReceivers::class.java.protectionDomain.codeSource.location.toURI().path) +
|
||||||
with(PathUtil.kotlinPathsForDistDirectory) {
|
with(PathUtil.kotlinPathsForDistDirectory) {
|
||||||
arrayOf(
|
arrayOf(
|
||||||
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_COMMON_JAR,
|
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_IMPL_JAR,
|
||||||
KOTLIN_SCRIPTING_JVM_JAR
|
KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR
|
||||||
).mapNotNull { File(libPath, it).also { assertTrue("$it not found", it.exists()) } }
|
).mapNotNull { File(libPath, it).also { assertTrue("$it not found", it.exists()) } }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots
|
|||||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.loadScriptingPlugin
|
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.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
|||||||
import org.jetbrains.kotlin.daemon.TestMessageCollector
|
import org.jetbrains.kotlin.daemon.TestMessageCollector
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.loadScriptingPlugin
|
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.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ interface KotlinPaths {
|
|||||||
Trove4j(PathUtil.TROVE4J_NAME),
|
Trove4j(PathUtil.TROVE4J_NAME),
|
||||||
Compiler(PathUtil.KOTLIN_COMPILER_NAME),
|
Compiler(PathUtil.KOTLIN_COMPILER_NAME),
|
||||||
ScriptingPlugin(PathUtil.KOTLIN_SCRIPTING_COMPILER_PLUGIN_NAME),
|
ScriptingPlugin(PathUtil.KOTLIN_SCRIPTING_COMPILER_PLUGIN_NAME),
|
||||||
|
ScriptingImpl(PathUtil.KOTLIN_SCRIPTING_IMPL_NAME),
|
||||||
ScriptingLib(PathUtil.KOTLIN_SCRIPTING_COMMON_NAME),
|
ScriptingLib(PathUtil.KOTLIN_SCRIPTING_COMMON_NAME),
|
||||||
ScriptingJvmLib(PathUtil.KOTLIN_SCRIPTING_JVM_NAME),
|
ScriptingJvmLib(PathUtil.KOTLIN_SCRIPTING_JVM_NAME),
|
||||||
}
|
}
|
||||||
@@ -100,7 +101,7 @@ interface KotlinPaths {
|
|||||||
enum class ClassPaths(val contents: List<Jar> = emptyList()) {
|
enum class ClassPaths(val contents: List<Jar> = emptyList()) {
|
||||||
Empty(),
|
Empty(),
|
||||||
Compiler(Jar.Compiler, Jar.StdLib, Jar.Reflect, Jar.ScriptRuntime, Jar.Trove4j),
|
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())
|
constructor(vararg jars: Jar) : this(jars.asList())
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ object PathUtil {
|
|||||||
const val KOTLIN_SCRIPTING_JVM_JAR = "$KOTLIN_SCRIPTING_JVM_NAME.jar"
|
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_NAME = "kotlin-scripting-compiler"
|
||||||
const val KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR = "$KOTLIN_SCRIPTING_COMPILER_PLUGIN_NAME.jar"
|
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_NAME = "kotlin-test"
|
||||||
const val KOTLIN_TEST_JAR = "$KOTLIN_TEST_NAME.jar"
|
const val KOTLIN_TEST_JAR = "$KOTLIN_TEST_NAME.jar"
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ dependencies {
|
|||||||
testRuntime(project(":kotlin-noarg-compiler-plugin"))
|
testRuntime(project(":kotlin-noarg-compiler-plugin"))
|
||||||
testRuntime(project(":plugins:annotation-based-compiler-plugins-ide-support")) { isTransitive = false }
|
testRuntime(project(":plugins:annotation-based-compiler-plugins-ide-support")) { isTransitive = false }
|
||||||
testRuntime(project(":kotlin-scripting-idea")) { 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(":sam-with-receiver-ide-plugin")) { isTransitive = false }
|
||||||
testRuntime(project(":kotlinx-serialization-compiler-plugin"))
|
testRuntime(project(":kotlinx-serialization-compiler-plugin"))
|
||||||
testRuntime(project(":kotlinx-serialization-ide-plugin")) { isTransitive = false }
|
testRuntime(project(":kotlinx-serialization-ide-plugin")) { isTransitive = false }
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.idea.util.isInSourceContentWithoutInjected
|
|||||||
import org.jetbrains.kotlin.idea.util.isKotlinBinary
|
import org.jetbrains.kotlin.idea.util.isKotlinBinary
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
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.addIfNotNull
|
||||||
import org.jetbrains.kotlin.utils.sure
|
import org.jetbrains.kotlin.utils.sure
|
||||||
import org.jetbrains.kotlin.utils.yieldIfNotNull
|
import org.jetbrains.kotlin.utils.yieldIfNotNull
|
||||||
|
|||||||
+1
-1
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.psi.KtPsiFactoryKt;
|
|||||||
import org.jetbrains.kotlin.resolve.TargetPlatform;
|
import org.jetbrains.kotlin.resolve.TargetPlatform;
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition;
|
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 class TargetPlatformDetector {
|
||||||
public static final TargetPlatformDetector INSTANCE = new TargetPlatformDetector();
|
public static final TargetPlatformDetector INSTANCE = new TargetPlatformDetector();
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.idea.util.compat.psiSearchHelperInstance
|
|||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
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 org.jetbrains.kotlin.types.expressions.OperatorConventions
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
|||||||
@@ -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.builtIns.KotlinBuiltInFileType
|
||||||
import org.jetbrains.kotlin.idea.decompiler.js.KotlinJavaScriptMetaFileType
|
import org.jetbrains.kotlin.idea.decompiler.js.KotlinJavaScriptMetaFileType
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
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
|
import kotlin.script.experimental.location.ScriptExpectedLocation
|
||||||
|
|
||||||
abstract class KotlinBinaryExtension(val fileType: FileType) {
|
abstract class KotlinBinaryExtension(val fileType: FileType) {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ dependencies {
|
|||||||
compile(project(":idea:ide-common"))
|
compile(project(":idea:ide-common"))
|
||||||
compile(project(":idea:idea-jps-common"))
|
compile(project(":idea:idea-jps-common"))
|
||||||
compile(project(":plugins:android-extensions-compiler"))
|
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-core")) { isTransitive = false }
|
||||||
compile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-jdk8")) { isTransitive = false }
|
compile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-jdk8")) { isTransitive = false }
|
||||||
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
|
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
|
||||||
|
|||||||
+2
-2
@@ -42,8 +42,8 @@ import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
|||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
|
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
|
||||||
import org.jetbrains.kotlin.script.ScriptDefinitionProvider
|
import org.jetbrains.kotlin.script.ScriptDefinitionProvider
|
||||||
import org.jetbrains.kotlin.script.ScriptTemplatesProvider
|
import org.jetbrains.kotlin.script.ScriptTemplatesProvider
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.KotlinScriptDefinitionAdapterFromNewAPI
|
import org.jetbrains.kotlin.scripting.shared.definitions.KotlinScriptDefinitionAdapterFromNewAPI
|
||||||
import org.jetbrains.kotlin.scripting.legacy.LazyScriptDefinitionProvider
|
import org.jetbrains.kotlin.scripting.shared.definitions.LazyScriptDefinitionProvider
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.flattenTo
|
import org.jetbrains.kotlin.utils.addToStdlib.flattenTo
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ import com.intellij.util.io.URLUtil
|
|||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.idea.core.script.dependencies.SyncScriptDependenciesLoader
|
import org.jetbrains.kotlin.idea.core.script.dependencies.SyncScriptDependenciesLoader
|
||||||
import org.jetbrains.kotlin.script.ScriptDependenciesProvider
|
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 java.io.File
|
||||||
import kotlin.script.experimental.dependencies.ScriptDependencies
|
import kotlin.script.experimental.dependencies.ScriptDependencies
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -41,8 +41,8 @@ import org.jetbrains.kotlin.psi.KtFile
|
|||||||
import org.jetbrains.kotlin.psi.NotNullableUserDataProperty
|
import org.jetbrains.kotlin.psi.NotNullableUserDataProperty
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.LegacyResolverWrapper
|
import org.jetbrains.kotlin.script.LegacyResolverWrapper
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.findScriptDefinition
|
import org.jetbrains.kotlin.scripting.shared.definitions.findScriptDefinition
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.scriptDefinition
|
import org.jetbrains.kotlin.scripting.shared.definitions.scriptDefinition
|
||||||
import kotlin.script.experimental.dependencies.AsyncDependenciesResolver
|
import kotlin.script.experimental.dependencies.AsyncDependenciesResolver
|
||||||
import kotlin.script.experimental.dependencies.ScriptDependencies
|
import kotlin.script.experimental.dependencies.ScriptDependencies
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings
|
|||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.LegacyResolverWrapper
|
import org.jetbrains.kotlin.script.LegacyResolverWrapper
|
||||||
import org.jetbrains.kotlin.script.asResolveFailure
|
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.ConcurrentLinkedQueue
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock
|
import java.util.concurrent.locks.ReentrantReadWriteLock
|
||||||
import kotlin.concurrent.write
|
import kotlin.concurrent.write
|
||||||
|
|||||||
+1
-1
@@ -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.ScriptDependenciesManager
|
||||||
import org.jetbrains.kotlin.idea.core.script.StandardIdeScriptDefinition
|
import org.jetbrains.kotlin.idea.core.script.StandardIdeScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
|
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() {
|
class KotlinScriptResolveScopeProvider : ResolveScopeProvider() {
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.lexer.KotlinLexer
|
|||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
|
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.config.GradleSettingsListenerAdapter
|
||||||
import org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper
|
import org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper
|
||||||
import org.jetbrains.plugins.gradle.settings.DistributionType
|
import org.jetbrains.plugins.gradle.settings.DistributionType
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
<idePlatformKindTooling implementation="org.jetbrains.kotlin.idea.core.platform.impl.CommonIdePlatformKindTooling"/>
|
<idePlatformKindTooling implementation="org.jetbrains.kotlin.idea.core.platform.impl.CommonIdePlatformKindTooling"/>
|
||||||
|
|
||||||
<syntheticResolveExtension implementation="org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingResolveExtension"/>
|
<syntheticResolveExtension implementation="org.jetbrains.kotlin.scripting.shared.extensions.ScriptingResolveExtension"/>
|
||||||
<extraImportsProviderExtension implementation="org.jetbrains.kotlin.scripting.compiler.plugin.ScriptExtraImportsProviderExtension"/>
|
<extraImportsProviderExtension implementation="org.jetbrains.kotlin.scripting.shared.extensions.ScriptExtraImportsProviderExtension"/>
|
||||||
</extensions>
|
</extensions>
|
||||||
</idea-plugin>
|
</idea-plugin>
|
||||||
@@ -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.ScriptDefinitionContributor
|
||||||
import org.jetbrains.kotlin.idea.core.script.loadDefinitionsFromTemplates
|
import org.jetbrains.kotlin.idea.core.script.loadDefinitionsFromTemplates
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
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
|
import kotlin.script.experimental.intellij.ScriptDefinitionsProvider
|
||||||
|
|
||||||
class BridgeScriptDefinitionsContributor(private val project: Project) : ScriptDefinitionContributor {
|
class BridgeScriptDefinitionsContributor(private val project: Project) : ScriptDefinitionContributor {
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings
|
|||||||
import org.jetbrains.kotlin.parsing.KotlinParserDefinition
|
import org.jetbrains.kotlin.parsing.KotlinParserDefinition
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
|
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)
|
class KotlinScriptDefinitionsModelDescriptor(val definition: KotlinScriptDefinition, var isEnabled: Boolean)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.parsing.KotlinParserDefinition
|
|||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
|
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<EditorNotificationPanel>() {
|
class MultipleScriptDefinitionsChecker(private val project: Project) : EditorNotifications.Provider<EditorNotificationPanel>() {
|
||||||
|
|
||||||
|
|||||||
@@ -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 TROVE4J_JAR = "trove4j.jar"
|
||||||
internal const val KOTLIN_SCRIPTING_COMPILER_JAR = "kotlin-scripting-compiler.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_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_COMMON_JAR = "kotlin-scripting-common.jar"
|
||||||
internal const val KOTLIN_SCRIPTING_JVM_JAR = "kotlin-scripting-jvm.jar"
|
internal const val KOTLIN_SCRIPTING_JVM_JAR = "kotlin-scripting-jvm.jar"
|
||||||
|
|
||||||
@@ -202,6 +203,7 @@ object KotlinJars {
|
|||||||
)
|
)
|
||||||
val kotlinScriptingJars = if (withScripting) listOf(
|
val kotlinScriptingJars = if (withScripting) listOf(
|
||||||
KOTLIN_SCRIPTING_COMPILER_JAR,
|
KOTLIN_SCRIPTING_COMPILER_JAR,
|
||||||
|
KOTLIN_SCRIPTING_IMPL_JAR,
|
||||||
KOTLIN_SCRIPTING_COMPILER_EMBEDDABLE_JAR,
|
KOTLIN_SCRIPTING_COMPILER_EMBEDDABLE_JAR,
|
||||||
KOTLIN_SCRIPTING_COMMON_JAR,
|
KOTLIN_SCRIPTING_COMMON_JAR,
|
||||||
KOTLIN_SCRIPTING_JVM_JAR
|
KOTLIN_SCRIPTING_JVM_JAR
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.gradle.plugin.*
|
|||||||
import org.jetbrains.kotlin.gradle.scripting.ScriptingExtension
|
import org.jetbrains.kotlin.gradle.scripting.ScriptingExtension
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
import org.jetbrains.kotlin.gradle.tasks.useLazyTaskConfiguration
|
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
|
import java.io.File
|
||||||
|
|
||||||
private const val MISCONFIGURATION_MESSAGE_SUFFIX = "the plugin is probably applied by a mistake"
|
private const val MISCONFIGURATION_MESSAGE_SUFFIX = "the plugin is probably applied by a mistake"
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ description = "Kotlin Scripting Compiler Plugin for embeddable compiler"
|
|||||||
|
|
||||||
val packedJars by configurations.creating
|
val packedJars by configurations.creating
|
||||||
dependencies {
|
dependencies {
|
||||||
|
packedJars(project(":kotlin-scripting-impl")) { isTransitive = false }
|
||||||
packedJars(project(":kotlin-scripting-compiler")) { isTransitive = false }
|
packedJars(project(":kotlin-scripting-compiler")) { isTransitive = false }
|
||||||
packedJars(project(":kotlin-scripting-common")) { isTransitive = false }
|
packedJars(project(":kotlin-scripting-common")) { isTransitive = false }
|
||||||
packedJars(project(":kotlin-scripting-jvm")) { isTransitive = false }
|
packedJars(project(":kotlin-scripting-jvm")) { isTransitive = false }
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ dependencies {
|
|||||||
compileOnly(project(":compiler:cli"))
|
compileOnly(project(":compiler:cli"))
|
||||||
compile(project(":kotlin-scripting-common"))
|
compile(project(":kotlin-scripting-common"))
|
||||||
compile(project(":kotlin-scripting-jvm"))
|
compile(project(":kotlin-scripting-jvm"))
|
||||||
|
compile(project(":kotlin-scripting-impl"))
|
||||||
compile(kotlinStdlib())
|
compile(kotlinStdlib())
|
||||||
compileOnly(project(":kotlin-reflect-api"))
|
compileOnly(project(":kotlin-reflect-api"))
|
||||||
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
|
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
|
||||||
compileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) }
|
|
||||||
|
|
||||||
testCompile(project(":compiler:frontend"))
|
testCompile(project(":compiler:frontend"))
|
||||||
testCompile(project(":compiler:frontend.script"))
|
testCompile(project(":compiler:frontend.script"))
|
||||||
@@ -51,8 +51,6 @@ javadocJar()
|
|||||||
|
|
||||||
dist()
|
dist()
|
||||||
|
|
||||||
ideaPlugin()
|
|
||||||
|
|
||||||
projectTest {
|
projectTest {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.compiler.plugin.CommandLineProcessor
|
|||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.config.CompilerConfigurationKey
|
import org.jetbrains.kotlin.config.CompilerConfigurationKey
|
||||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||||
|
import org.jetbrains.kotlin.scripting.shared.KOTLIN_SCRIPTING_PLUGIN_ID
|
||||||
|
|
||||||
object ScriptingConfigurationKeys {
|
object ScriptingConfigurationKeys {
|
||||||
val DISABLE_SCRIPTING_PLUGIN_OPTION: CompilerConfigurationKey<Boolean> =
|
val DISABLE_SCRIPTING_PLUGIN_OPTION: CompilerConfigurationKey<Boolean> =
|
||||||
@@ -63,10 +64,9 @@ class ScriptingCommandLineProcessor : CommandLineProcessor {
|
|||||||
required = false, allowMultipleOccurrences = true
|
required = false, allowMultipleOccurrences = true
|
||||||
)
|
)
|
||||||
|
|
||||||
val PLUGIN_ID = "kotlin.scripting"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override val pluginId = PLUGIN_ID
|
override val pluginId = KOTLIN_SCRIPTING_PLUGIN_ID
|
||||||
override val pluginOptions =
|
override val pluginOptions =
|
||||||
listOf(
|
listOf(
|
||||||
DISABLE_SCRIPTING_PLUGIN_OPTION,
|
DISABLE_SCRIPTING_PLUGIN_OPTION,
|
||||||
|
|||||||
+2
-2
@@ -17,8 +17,8 @@ import org.jetbrains.kotlin.extensions.CompilerConfigurationExtension
|
|||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.script.ScriptDefinitionProvider
|
import org.jetbrains.kotlin.script.ScriptDefinitionProvider
|
||||||
import org.jetbrains.kotlin.script.StandardScriptDefinition
|
import org.jetbrains.kotlin.script.StandardScriptDefinition
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.ScriptDefinitionsFromClasspathDiscoverySource
|
import org.jetbrains.kotlin.scripting.shared.definitions.ScriptDefinitionsFromClasspathDiscoverySource
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.loadScriptTemplatesFromClasspath
|
import org.jetbrains.kotlin.scripting.shared.definitions.loadScriptTemplatesFromClasspath
|
||||||
import org.jetbrains.kotlin.scripting.legacy.CliScriptDefinitionProvider
|
import org.jetbrains.kotlin.scripting.legacy.CliScriptDefinitionProvider
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
|
|||||||
+5
-1
@@ -20,6 +20,8 @@ import org.jetbrains.kotlin.script.ScriptReportSink
|
|||||||
import org.jetbrains.kotlin.scripting.legacy.CliScriptDefinitionProvider
|
import org.jetbrains.kotlin.scripting.legacy.CliScriptDefinitionProvider
|
||||||
import org.jetbrains.kotlin.scripting.legacy.CliScriptDependenciesProvider
|
import org.jetbrains.kotlin.scripting.legacy.CliScriptDependenciesProvider
|
||||||
import org.jetbrains.kotlin.scripting.legacy.CliScriptReportSink
|
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 {
|
class ScriptingCompilerConfigurationComponentRegistrar : ComponentRegistrar {
|
||||||
override fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration) {
|
override fun registerProjectComponents(project: MockProject, configuration: CompilerConfiguration) {
|
||||||
@@ -34,7 +36,9 @@ class ScriptingCompilerConfigurationComponentRegistrar : ComponentRegistrar {
|
|||||||
CliScriptDependenciesProvider(project)
|
CliScriptDependenciesProvider(project)
|
||||||
)
|
)
|
||||||
SyntheticResolveExtension.registerExtension(project, ScriptingResolveExtension())
|
SyntheticResolveExtension.registerExtension(project, ScriptingResolveExtension())
|
||||||
ExtraImportsProviderExtension.registerExtension(project, ScriptExtraImportsProviderExtension())
|
ExtraImportsProviderExtension.registerExtension(project,
|
||||||
|
ScriptExtraImportsProviderExtension()
|
||||||
|
)
|
||||||
|
|
||||||
val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
|
val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
|
||||||
if (messageCollector != null) {
|
if (messageCollector != null) {
|
||||||
|
|||||||
+1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.scripting.legacy
|
|||||||
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
import org.jetbrains.kotlin.script.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.ScriptDefinitionsSource
|
import org.jetbrains.kotlin.script.ScriptDefinitionsSource
|
||||||
import org.jetbrains.kotlin.script.StandardScriptDefinition
|
import org.jetbrains.kotlin.script.StandardScriptDefinition
|
||||||
|
import org.jetbrains.kotlin.scripting.shared.definitions.LazyScriptDefinitionProvider
|
||||||
import kotlin.concurrent.write
|
import kotlin.concurrent.write
|
||||||
|
|
||||||
open class CliScriptDefinitionProvider : LazyScriptDefinitionProvider() {
|
open class CliScriptDefinitionProvider : LazyScriptDefinitionProvider() {
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.script.ScriptContentLoader
|
|||||||
import org.jetbrains.kotlin.script.ScriptDependenciesProvider
|
import org.jetbrains.kotlin.script.ScriptDependenciesProvider
|
||||||
import org.jetbrains.kotlin.script.ScriptReportSink
|
import org.jetbrains.kotlin.script.ScriptReportSink
|
||||||
import org.jetbrains.kotlin.script.adjustByDefinition
|
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.io.File
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock
|
import java.util.concurrent.locks.ReentrantReadWriteLock
|
||||||
import kotlin.concurrent.read
|
import kotlin.concurrent.read
|
||||||
|
|||||||
+3
-3
@@ -20,9 +20,9 @@ import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot
|
|||||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.SCRIPT_DEFINITION_MARKERS_PATH
|
import org.jetbrains.kotlin.scripting.shared.definitions.SCRIPT_DEFINITION_MARKERS_PATH
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.discoverScriptTemplatesInClasspath
|
import org.jetbrains.kotlin.scripting.shared.definitions.discoverScriptTemplatesInClasspath
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.definitions.loadScriptTemplatesFromClasspath
|
import org.jetbrains.kotlin.scripting.shared.definitions.loadScriptTemplatesFromClasspath
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.TestCaseWithTmpdir
|
import org.jetbrains.kotlin.test.TestCaseWithTmpdir
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile(project(":kotlin-scripting-compiler"))
|
compile(project(":kotlin-scripting-impl"))
|
||||||
compile(project(":kotlin-scripting-intellij"))
|
compile(project(":kotlin-scripting-intellij"))
|
||||||
compileOnly(project(":idea:idea-gradle"))
|
compileOnly(project(":idea:idea-gradle"))
|
||||||
compileOnly(project(":idea:idea-core"))
|
compileOnly(project(":idea:idea-core"))
|
||||||
|
|||||||
+2
-2
@@ -8,13 +8,13 @@ package org.jetbrains.kotlin.scripting.idea.plugin
|
|||||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
||||||
import org.jetbrains.kotlin.idea.configuration.GradleProjectImportHandler
|
import org.jetbrains.kotlin.idea.configuration.GradleProjectImportHandler
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
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 org.jetbrains.plugins.gradle.model.data.GradleSourceSetData
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class ScriptingGradleProjectImportHandler : GradleProjectImportHandler {
|
class ScriptingGradleProjectImportHandler : GradleProjectImportHandler {
|
||||||
|
|
||||||
val compilerPluginId = ScriptingCommandLineProcessor.PLUGIN_ID
|
val compilerPluginId = KOTLIN_SCRIPTING_PLUGIN_ID
|
||||||
val gradlePluginJars = listOf(
|
val gradlePluginJars = listOf(
|
||||||
"scripting-gradle", // obsolete artifact name, only for compatibility with 1.2.5x, where it was introduced (and immediately dropped afterwards)
|
"scripting-gradle", // obsolete artifact name, only for compatibility with 1.2.5x, where it was introduced (and immediately dropped afterwards)
|
||||||
"scripting-compiler",
|
"scripting-compiler",
|
||||||
|
|||||||
@@ -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<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>> {
|
||||||
|
kotlinOptions {
|
||||||
|
languageVersion = "1.2"
|
||||||
|
apiVersion = "1.2"
|
||||||
|
freeCompilerArgs += "-Xskip-metadata-version-check"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
publish()
|
||||||
|
|
||||||
|
val jar = runtimeJar {}
|
||||||
|
sourcesJar()
|
||||||
|
javadocJar()
|
||||||
|
|
||||||
|
dist()
|
||||||
|
|
||||||
|
ideaPlugin()
|
||||||
|
|
||||||
|
projectTest {
|
||||||
|
workingDir = rootDir
|
||||||
|
}
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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 com.intellij.openapi.fileTypes.LanguageFileType
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
+4
-2
@@ -3,13 +3,15 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.script.experimental.annotations.KotlinScript
|
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.ScriptingHostConfiguration
|
||||||
import kotlin.script.experimental.host.configurationDependencies
|
import kotlin.script.experimental.host.configurationDependencies
|
||||||
import kotlin.script.experimental.host.createCompilationConfigurationFromTemplate
|
import kotlin.script.experimental.host.createCompilationConfigurationFromTemplate
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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 com.intellij.ide.highlighter.JavaFileType
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
+2
-2
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.CompilerMessageSeverity
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
@@ -125,7 +125,7 @@ internal fun discoverScriptTemplatesInClasspath(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun loadScriptTemplatesFromClasspath(
|
fun loadScriptTemplatesFromClasspath(
|
||||||
scriptTemplates: List<String>,
|
scriptTemplates: List<String>,
|
||||||
classpath: List<File>,
|
classpath: List<File>,
|
||||||
dependenciesClasspath: List<File>,
|
dependenciesClasspath: List<File>,
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.*
|
import org.jetbrains.org.objectweb.asm.*
|
||||||
|
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.ide.highlighter.JavaClassFileType
|
||||||
import com.intellij.openapi.fileTypes.FileTypeRegistry
|
import com.intellij.openapi.fileTypes.FileTypeRegistry
|
||||||
+6
-2
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
@@ -29,6 +29,10 @@ class ScriptExtraImportsProviderExtension : ExtraImportsProviderExtension {
|
|||||||
override fun getExtraImports(ktFile: KtFile): Collection<KtImportInfo> =
|
override fun getExtraImports(ktFile: KtFile): Collection<KtImportInfo> =
|
||||||
ktFile.takeIf { it.isScript() }?.let { file ->
|
ktFile.takeIf { it.isScript() }?.let { file ->
|
||||||
val scriptDependencies = ScriptDependenciesProvider.getInstance(file.project)?.getScriptDependencies(file.originalFile)
|
val scriptDependencies = ScriptDependenciesProvider.getInstance(file.project)?.getScriptDependencies(file.originalFile)
|
||||||
scriptDependencies?.imports?.map { ScriptExtraImportImpl(ImportPath.fromString(it)) }
|
scriptDependencies?.imports?.map {
|
||||||
|
ScriptExtraImportImpl(
|
||||||
|
ImportPath.fromString(it)
|
||||||
|
)
|
||||||
|
}
|
||||||
}.orEmpty()
|
}.orEmpty()
|
||||||
}
|
}
|
||||||
+2
-2
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
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.LazyClassContext
|
||||||
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
||||||
import org.jetbrains.kotlin.resolve.lazy.declarations.PackageMemberDeclarationProvider
|
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 {
|
class ScriptingResolveExtension : SyntheticResolveExtension {
|
||||||
override fun generateSyntheticClasses(
|
override fun generateSyntheticClasses(
|
||||||
+8
@@ -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"
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.*
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
+2
-2
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.StandardFileSystems
|
||||||
import com.intellij.openapi.vfs.VirtualFileManager
|
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.KotlinScriptDefinition
|
||||||
import org.jetbrains.kotlin.script.ScriptDependenciesProvider
|
import org.jetbrains.kotlin.script.ScriptDependenciesProvider
|
||||||
import org.jetbrains.kotlin.script.ScriptPriorities
|
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.TypeSubstitutor
|
||||||
import org.jetbrains.kotlin.types.typeUtil.isNothing
|
import org.jetbrains.kotlin.types.typeUtil.isNothing
|
||||||
import org.jetbrains.kotlin.types.typeUtil.isUnit
|
import org.jetbrains.kotlin.types.typeUtil.isUnit
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.*
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.*
|
||||||
import org.jetbrains.kotlin.descriptors.impl.MutableClassDescriptor
|
import org.jetbrains.kotlin.descriptors.impl.MutableClassDescriptor
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.*
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* 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.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -169,6 +169,7 @@ include ":kotlin-build-common",
|
|||||||
":kotlin-scripting-jvm-host",
|
":kotlin-scripting-jvm-host",
|
||||||
":kotlin-scripting-jvm-host-embeddable",
|
":kotlin-scripting-jvm-host-embeddable",
|
||||||
":kotlin-scripting-intellij",
|
":kotlin-scripting-intellij",
|
||||||
|
":kotlin-scripting-impl",
|
||||||
":kotlin-scripting-compiler",
|
":kotlin-scripting-compiler",
|
||||||
":kotlin-scripting-idea",
|
":kotlin-scripting-idea",
|
||||||
":kotlin-scripting-compiler-embeddable",
|
":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').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-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-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').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-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-scripting-idea').projectDir = "$rootDir/plugins/scripting/scripting-idea" as File
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ dependencies {
|
|||||||
testRuntime(project(":allopen-ide-plugin")) { isTransitive = false }
|
testRuntime(project(":allopen-ide-plugin")) { isTransitive = false }
|
||||||
testRuntime(project(":kotlin-allopen-compiler-plugin")) { isTransitive = false }
|
testRuntime(project(":kotlin-allopen-compiler-plugin")) { isTransitive = false }
|
||||||
testRuntime(project(":kotlin-scripting-idea")) { 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-compiler-plugin")) { isTransitive = false }
|
||||||
testRuntime(project(":kotlinx-serialization-ide-plugin")) { isTransitive = false }
|
testRuntime(project(":kotlinx-serialization-ide-plugin")) { isTransitive = false }
|
||||||
testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false }
|
testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false }
|
||||||
|
|||||||
Reference in New Issue
Block a user