Use copied key to extract default jdkHome from host configuration

This commit is contained in:
Ilya Chernikov
2020-05-13 21:36:07 +02:00
parent 20bbcd5d5a
commit 255ad47406
3 changed files with 8 additions and 3 deletions
@@ -95,7 +95,11 @@ private fun Collection<File>.filterNewClasspath(known: Collection<ScriptDependen
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
val JvmScriptCompilationConfigurationKeys.javaHome by PropertiesCollection.keyCopy(ScriptingHostConfiguration.jvm.javaHome) val JvmScriptCompilationConfigurationKeys.javaHome by PropertiesCollection.keyCopy(ScriptingHostConfiguration.jvm.javaHome)
val JvmScriptCompilationConfigurationKeys.jdkHome by PropertiesCollection.keyCopy(ScriptingHostConfiguration.jvm.jdkHome) val JvmScriptCompilationConfigurationKeys.jdkHome
by PropertiesCollection.keyCopy(
ScriptingHostConfiguration.jvm.jdkHome,
getSourceProperties = { get(ScriptCompilationConfiguration.hostConfiguration) }
)
@Suppress("unused") @Suppress("unused")
val ScriptCompilationConfigurationKeys.jvm val ScriptCompilationConfigurationKeys.jvm
@@ -134,7 +134,7 @@ abstract class ScriptCompilationConfigurationWrapper(val script: SourceCode) {
} }
override val javaHome: File? override val javaHome: File?
get() = configuration?.get(ScriptCompilationConfiguration.hostConfiguration)?.get(ScriptingHostConfiguration.jvm.jdkHome) get() = configuration?.get(ScriptCompilationConfiguration.jvm.jdkHome)
override val defaultImports: List<String> override val defaultImports: List<String>
get() = configuration?.get(ScriptCompilationConfiguration.defaultImports).orEmpty() get() = configuration?.get(ScriptCompilationConfiguration.defaultImports).orEmpty()
@@ -213,7 +213,8 @@ private fun createInitialCompilerConfiguration(
// Default value differs from the argument's default (see #KT-29405 and #KT-29319) // Default value differs from the argument's default (see #KT-29405 and #KT-29319)
put(JVMConfigurationKeys.JVM_TARGET, JvmTarget.JVM_1_8) put(JVMConfigurationKeys.JVM_TARGET, JvmTarget.JVM_1_8)
val jdkHomeFromConfigurations = scriptCompilationConfiguration.getNoDefault(ScriptCompilationConfiguration.jvm.jdkHome) val jdkHomeFromConfigurations = scriptCompilationConfiguration[ScriptCompilationConfiguration.jvm.jdkHome]
// TODO: check if this is redundant and/or incorrect since the default is now taken from the host configuration anyway (the one linked to the compilation config)
?: hostConfiguration[ScriptingHostConfiguration.jvm.jdkHome] ?: hostConfiguration[ScriptingHostConfiguration.jvm.jdkHome]
if (jdkHomeFromConfigurations != null) { if (jdkHomeFromConfigurations != null) {
messageCollector.report(CompilerMessageSeverity.LOGGING, "Using JDK home directory $jdkHomeFromConfigurations") messageCollector.report(CompilerMessageSeverity.LOGGING, "Using JDK home directory $jdkHomeFromConfigurations")