From 086c4fd5b934ef25788ab7643bcb7c55f84dd19e Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Tue, 15 Jan 2019 13:43:26 +0100 Subject: [PATCH] Add stdlib, etc. to the script dependencies on compilation #KT-29293 fixed --- .../experimental/jvmhost/impl/KJvmCompilerImpl.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/impl/KJvmCompilerImpl.kt b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/impl/KJvmCompilerImpl.kt index 67fc5dd2621..826c28f6bd7 100644 --- a/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/impl/KJvmCompilerImpl.kt +++ b/libraries/scripting/jvm-host/src/kotlin/script/experimental/jvmhost/impl/KJvmCompilerImpl.kt @@ -109,7 +109,12 @@ class KJvmCompilerImpl(val hostConfiguration: ScriptingHostConfiguration) : KJvm } ) } - fun addRoot(moduleName: String, file: File) { + + // TODO: implement logic similar to compiler's -no-stdlib (and -no-reflect?) + val standardLibs = arrayListOf("kotlin.stdlib" to KotlinJars.stdlib) + KotlinJars.scriptRuntimeOrNull?.let { standardLibs.add("kotlin.script.runtime" to it) } + + for ((moduleName, file) in standardLibs) { if (isModularJava) { add(CLIConfigurationKeys.CONTENT_ROOTS, JvmModulePathRoot(file)) add(JVMConfigurationKeys.ADDITIONAL_JAVA_MODULES, moduleName) @@ -117,9 +122,9 @@ class KJvmCompilerImpl(val hostConfiguration: ScriptingHostConfiguration) : KJvm add(CLIConfigurationKeys.CONTENT_ROOTS, JvmClasspathRoot(file)) } } - // TODO: implement logic similar to compiler's -no-stdlib (and -no-reflect?) - addRoot("kotlin.stdlib", KotlinJars.stdlib) - KotlinJars.scriptRuntimeOrNull?.let { addRoot("kotlin.script.runtime", it) } + updatedConfiguration = ScriptCompilationConfiguration(updatedConfiguration) { + dependencies.append(JvmDependency(standardLibs.map { it.second })) + } put(CommonConfigurationKeys.MODULE_NAME, "kotlin-script") // TODO" take meaningful and valid name from somewhere languageVersionSettings = LanguageVersionSettingsImpl(