mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] Fix scripts stdlib look up path
#EA-430761 Fixed GitOrigin-RevId: e0c841291ae11c29d33c4279e518b6f94454a7a2
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e2b9655708
commit
44bf98e41d
+5
-1
@@ -6,9 +6,11 @@ import com.intellij.ide.extensionResources.ExtensionsRootType
|
||||
import com.intellij.ide.plugins.PluginManagerCore
|
||||
import com.intellij.ide.scratch.RootType
|
||||
import com.intellij.ide.script.IdeConsoleRootType
|
||||
import com.intellij.openapi.application.PathManager
|
||||
import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionSourceAsContributor
|
||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
|
||||
import org.jetbrains.kotlin.scripting.resolve.VirtualFileScriptSource
|
||||
import kotlin.io.path.nameWithoutExtension
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
||||
import kotlin.script.experimental.jvm.dependenciesFromClassContext
|
||||
@@ -46,12 +48,14 @@ private object ScriptCompilationConfigurationForExtensionAndIdeConsoleRoots : Sc
|
||||
baseClass(KotlinType(ScriptTemplateWithBindings::class))
|
||||
displayName(SCRIPT_DEFINITION_NAME)
|
||||
jvm {
|
||||
val kotlincLibraryName =
|
||||
PathManager.getJarForClass(KotlinVersion::class.java)?.nameWithoutExtension ?: "kotlinc-lib"
|
||||
// This approach works, but could be quite expensive, since it forces indexing of the whole IDEA classpath
|
||||
// more economical approach would be to list names (without versions and .jar extension) of all jars
|
||||
// required for the scripts after the kotlin stdlib/script-runtime, and set wholeClasspath to false
|
||||
dependenciesFromClassContext(
|
||||
ScriptCompilationConfigurationForExtensionAndIdeConsoleRoots::class,
|
||||
"kotlin-stdlib-jdk8",
|
||||
kotlincLibraryName,
|
||||
wholeClasspath = true
|
||||
)
|
||||
PluginManagerCore.getPlugins().forEach {
|
||||
|
||||
Reference in New Issue
Block a user