From e9da385f7cf273ebbee42fda2c9a4ac7d20660e9 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Thu, 7 Jan 2021 20:33:14 +0100 Subject: [PATCH] Implement property for passing argumens to isolated script compiler --- .../scripting/compiler/plugin/impl/compilationContext.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt index 64afb984dd5..70bc996167e 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt @@ -54,6 +54,8 @@ import kotlin.script.experimental.jvm.jvm import kotlin.script.experimental.jvm.util.KotlinJars import kotlin.script.experimental.jvm.withUpdatedClasspath +const val SCRIPT_BASE_COMPILER_ARGUMENTS_PROPERTY = "kotlin.script.base.compiler.arguments" + class SharedScriptCompilationContext( val disposable: Disposable?, val baseScriptCompilationConfiguration: ScriptCompilationConfiguration, @@ -140,7 +142,13 @@ internal fun createInitialConfigurations( createInitialCompilerConfiguration( scriptCompilationConfiguration, hostConfiguration, messageCollector, ignoredOptionsReportingState ) + // TODO: replace the default when ready kotlinCompilerConfiguration.put(JVMConfigurationKeys.IR, false) + + System.getProperty(SCRIPT_BASE_COMPILER_ARGUMENTS_PROPERTY)?.takeIf { it.isNotBlank() }?.split(' ')?.let { + kotlinCompilerConfiguration.updateWithCompilerOptions(it) + } + val initialScriptCompilationConfiguration = scriptCompilationConfiguration.withUpdatesFromCompilerConfiguration(kotlinCompilerConfiguration)