From c5ecc540ad698355bb162b4bc1218ea03e0bce70 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Thu, 2 Feb 2017 20:42:07 +0300 Subject: [PATCH] Kotlin Facet: Always parse argument string to proper compiler arguments bean #KT-16137 Fixed #KT-16157 Fixed #KT-16206 Fixed Original commit: 4325632b3ec56beba2a009b7f5eeca08c70a289e --- .../src/org/jetbrains/kotlin/config/CompilerSettings.kt | 2 +- .../src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt | 2 ++ .../src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/CompilerSettings.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/CompilerSettings.kt index 8ca191aaf90..89af21eee09 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/CompilerSettings.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/CompilerSettings.kt @@ -24,7 +24,7 @@ class CompilerSettings { @JvmField var outputDirectoryForJsLibraryFiles: String = DEFAULT_OUTPUT_DIRECTORY companion object { - private val DEFAULT_ADDITIONAL_ARGUMENTS = "-version" + val DEFAULT_ADDITIONAL_ARGUMENTS = "-version" private val DEFAULT_OUTPUT_DIRECTORY = "lib" } } diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt index e71fd230cdc..c77ffee8e09 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt @@ -23,6 +23,7 @@ import com.intellij.util.xmlb.annotations.Property import com.intellij.util.xmlb.annotations.Transient import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments +import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.utils.DescriptionAware sealed class TargetPlatformKind( @@ -96,6 +97,7 @@ class KotlinCompilerInfo { _commonCompilerArguments = value as? CommonCompilerArguments.DummyImpl } var k2jsCompilerArguments: K2JSCompilerArguments? = null + var k2jvmCompilerArguments: K2JVMCompilerArguments? = null var compilerSettings: CompilerSettings? = null @get:Transient var coroutineSupport: CoroutineSupport diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt index 99d006e70af..b7632daa9a8 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt @@ -87,7 +87,8 @@ class JpsKotlinCompilerSettings : JpsElementBase() { val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments if (facetSettings.useProjectSettings) return defaultArguments val targetPlatform = facetSettings.versionInfo.targetPlatformKind as? TargetPlatformKind.Jvm ?: return defaultArguments - return copyBean(defaultArguments).apply { + val arguments = facetSettings.compilerInfo.k2jvmCompilerArguments ?: defaultArguments + return copyBean(arguments).apply { jvmTarget = targetPlatform.version.description } }