diff --git a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jsr223/KotlinJsr223ScriptEngineImpl.kt b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jsr223/KotlinJsr223ScriptEngineImpl.kt index e1807156876..16b3a404c97 100644 --- a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jsr223/KotlinJsr223ScriptEngineImpl.kt +++ b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jsr223/KotlinJsr223ScriptEngineImpl.kt @@ -13,6 +13,7 @@ import kotlin.script.experimental.api.ScriptCompilationConfiguration import kotlin.script.experimental.api.ScriptEvaluationConfiguration import kotlin.script.experimental.api.hostConfiguration import kotlin.script.experimental.host.ScriptingHostConfiguration +import kotlin.script.experimental.host.withDefaultsFrom import kotlin.script.experimental.jvm.baseClassLoader import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration import kotlin.script.experimental.jvm.jvm @@ -40,13 +41,13 @@ class KotlinJsr223ScriptEngineImpl( val compilationConfiguration by lazy { ScriptCompilationConfiguration(baseCompilationConfiguration) { - hostConfiguration(jsr223HostConfiguration) + hostConfiguration.update { it.withDefaultsFrom(jsr223HostConfiguration) } } } val evaluationConfiguration by lazy { ScriptEvaluationConfiguration(baseEvaluationConfiguration) { - hostConfiguration(jsr223HostConfiguration) + hostConfiguration.update { it.withDefaultsFrom(jsr223HostConfiguration) } } } diff --git a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptCompilation.kt b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptCompilation.kt index e1e3726e81b..95ab67572da 100644 --- a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptCompilation.kt +++ b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/jvmScriptCompilation.kt @@ -30,7 +30,7 @@ open class JvmScriptCompiler( compilerProxy.compile( script, scriptCompilationConfiguration.with { - hostConfiguration(this@JvmScriptCompiler.hostConfiguration) + hostConfiguration.update { it.withDefaultsFrom(this@JvmScriptCompiler.hostConfiguration) } } ) } diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/runner.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/runner.kt index 11951b0306d..13770f7ee32 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/runner.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/runner.kt @@ -6,10 +6,7 @@ package kotlin.script.experimental.jvm import kotlinx.coroutines.runBlocking -import kotlin.script.experimental.api.ScriptCompilationConfiguration -import kotlin.script.experimental.api.ScriptEvaluationConfiguration -import kotlin.script.experimental.api.baseClass -import kotlin.script.experimental.api.onFailure +import kotlin.script.experimental.api.* import kotlin.script.experimental.host.createEvaluationConfigurationFromTemplate import kotlin.script.experimental.jvm.impl.createScriptFromClassLoader @@ -17,10 +14,12 @@ import kotlin.script.experimental.jvm.impl.createScriptFromClassLoader fun runCompiledScript(scriptClass: Class<*>, vararg args: String) { val script = createScriptFromClassLoader(scriptClass.name, scriptClass.classLoader) val evaluator = BasicJvmScriptEvaluator() + val hostConfiguration = script.compilationConfiguration[ScriptCompilationConfiguration.hostConfiguration] + ?: defaultJvmScriptingHostConfiguration val baseEvaluationConfiguration = createEvaluationConfigurationFromTemplate( script.compilationConfiguration[ScriptCompilationConfiguration.baseClass]!!, - defaultJvmScriptingHostConfiguration, + hostConfiguration, scriptClass.kotlin ) val evaluationConfiguration = ScriptEvaluationConfiguration(baseEvaluationConfiguration) {