JPS: Fix earlier configurations with incorrect combination of language and API version
Original commit: e8640b441d
This commit is contained in:
+6
-3
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user