From cc7091bb3c0063f1dd2fa317ffcfc06469fa1647 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Thu, 9 Mar 2017 11:29:26 +0300 Subject: [PATCH] JPS: Fix earlier configurations with incorrect combination of language and API version Original commit: e8640b441db7c9e649b26a7c15f2ee1e2457e0c2 --- .../jps/model/KotlinCommonCompilerArgumentsSerializer.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/model/KotlinCommonCompilerArgumentsSerializer.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/model/KotlinCommonCompilerArgumentsSerializer.kt index 3c8b6490436..2f15f384cfe 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/model/KotlinCommonCompilerArgumentsSerializer.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/model/KotlinCommonCompilerArgumentsSerializer.kt @@ -16,15 +16,15 @@ package org.jetbrains.kotlin.jps.model +import com.intellij.util.text.VersionComparatorUtil import com.intellij.util.xmlb.XmlSerializer import org.jdom.Element -import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.jps.model.JpsProject import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer -import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings - +import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMMON_COMPILER_ARGUMENTS_SECTION import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE +import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings internal class KotlinCommonCompilerArgumentsSerializer : JpsProjectExtensionSerializer(KOTLIN_COMPILER_SETTINGS_FILE, KOTLIN_COMMON_COMPILER_ARGUMENTS_SECTION) { @@ -32,6 +32,9 @@ internal class KotlinCommonCompilerArgumentsSerializer : JpsProjectExtensionSeri override fun loadExtension(project: JpsProject, componentTag: Element) { val settings = XmlSerializer.deserialize(componentTag, CommonCompilerArguments.DummyImpl::class.java) ?: CommonCompilerArguments.DummyImpl() + if (VersionComparatorUtil.compare(settings.languageVersion, settings.apiVersion) < 0) { + settings.apiVersion = settings.languageVersion + } JpsKotlinCompilerSettings.setCommonCompilerArguments(project, settings) }