From 939d76fd2abf0183b4dd7b0b500852240bba820b Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Thu, 5 Sep 2019 12:29:35 +0200 Subject: [PATCH] Isolate script execution from compiler classloader Since fix of KT-33554, the script execution classpath is set correctly according to the compilation classpath, so isolation makes sense now. --- .../compiler/plugin/JvmCliScriptEvaluationExtension.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/JvmCliScriptEvaluationExtension.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/JvmCliScriptEvaluationExtension.kt index f6feb7c6c36..ef530bab2cd 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/JvmCliScriptEvaluationExtension.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/JvmCliScriptEvaluationExtension.kt @@ -27,6 +27,8 @@ import java.io.PrintStream import kotlin.script.experimental.api.* import kotlin.script.experimental.host.toScriptSource import kotlin.script.experimental.jvm.BasicJvmScriptEvaluator +import kotlin.script.experimental.jvm.baseClassLoader +import kotlin.script.experimental.jvm.jvm class JvmCliScriptEvaluationExtension : ScriptEvaluationExtension { override fun isAccepted(arguments: CommonCompilerArguments): Boolean = @@ -69,6 +71,9 @@ class JvmCliScriptEvaluationExtension : ScriptEvaluationExtension { val evaluationConfiguration = definition.evaluationConfiguration.with { constructorArgs(scriptArgs.toTypedArray()) + jvm { + baseClassLoader(null) + } } val scriptCompilationConfiguration = definition.compilationConfiguration