Implement proper JDK home passing logic for scripts, deprecating old one

KT-27497 fixed, as well as failing tests on TC
This commit is contained in:
Ilya Chernikov
2018-10-19 17:33:07 +02:00
parent 9ccaef2f6b
commit dd28d55c7d
3 changed files with 9 additions and 3 deletions
@@ -41,7 +41,7 @@ import kotlin.script.experimental.host.getMergedScriptText
import kotlin.script.experimental.host.getScriptingClass
import kotlin.script.experimental.jvm.JvmDependency
import kotlin.script.experimental.jvm.impl.BridgeDependenciesResolver
import kotlin.script.experimental.jvm.javaHome
import kotlin.script.experimental.jvm.jdkHome
import kotlin.script.experimental.jvm.jvm
import kotlin.script.experimental.jvmhost.KJvmCompilerProxy
import kotlin.script.experimental.util.getOrError
@@ -82,8 +82,8 @@ class KJvmCompilerImpl(val hostConfiguration: ScriptingHostConfiguration) : KJvm
put(JVMConfigurationKeys.RETAIN_OUTPUT_IN_MEMORY, true)
var isModularJava = false
(updatedConfiguration.getNoDefault(ScriptCompilationConfiguration.jvm.javaHome)
?: hostConfiguration[ScriptingHostConfiguration.jvm.javaHome])?.let {
(updatedConfiguration.getNoDefault(ScriptCompilationConfiguration.jvm.jdkHome)
?: hostConfiguration[ScriptingHostConfiguration.jvm.jdkHome])?.let {
put(JVMConfigurationKeys.JDK_HOME, it)
isModularJava = CoreJrtFileSystem.isModularJdk(it)
}
@@ -43,8 +43,11 @@ fun JvmScriptCompilationConfigurationBuilder.dependenciesFromClassloader(
)
}
@Deprecated("Unused")
val JvmScriptCompilationConfigurationKeys.javaHome by PropertiesCollection.keyCopy(ScriptingHostConfiguration.jvm.javaHome)
val JvmScriptCompilationConfigurationKeys.jdkHome by PropertiesCollection.keyCopy(ScriptingHostConfiguration.jvm.jdkHome)
@Suppress("unused")
val ScriptCompilationConfigurationKeys.jvm
get() = JvmScriptCompilationConfigurationBuilder()
@@ -19,8 +19,11 @@ open class JvmScriptingHostConfigurationBuilder : JvmScriptingHostConfigurationK
companion object : JvmScriptingHostConfigurationKeys
}
@Deprecated("Unused")
val JvmScriptingHostConfigurationKeys.javaHome by PropertiesCollection.key<File>(File(System.getProperty("java.home")))
val JvmScriptingHostConfigurationKeys.jdkHome by PropertiesCollection.key<File>()
@Suppress("unused")
val ScriptingHostConfigurationKeys.jvm
get() = JvmScriptingHostConfigurationBuilder()