Skip to content

Commit e8640b4

Browse files
committed
JPS: Fix earlier configurations with incorrect combination of language and API version
1 parent 811b897 commit e8640b4

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

jps-plugin/src/org/jetbrains/kotlin/jps/model/KotlinCommonCompilerArgumentsSerializer.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,25 @@
1616

1717
package org.jetbrains.kotlin.jps.model
1818

19+
import com.intellij.util.text.VersionComparatorUtil
1920
import com.intellij.util.xmlb.XmlSerializer
2021
import org.jdom.Element
21-
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
2222
import org.jetbrains.jps.model.JpsProject
2323
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer
24-
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
25-
24+
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
2625
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMMON_COMPILER_ARGUMENTS_SECTION
2726
import org.jetbrains.kotlin.config.SettingConstants.KOTLIN_COMPILER_SETTINGS_FILE
27+
import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
2828

2929
internal class KotlinCommonCompilerArgumentsSerializer : JpsProjectExtensionSerializer(KOTLIN_COMPILER_SETTINGS_FILE,
3030
KOTLIN_COMMON_COMPILER_ARGUMENTS_SECTION) {
3131

3232
override fun loadExtension(project: JpsProject, componentTag: Element) {
3333
val settings = XmlSerializer.deserialize(componentTag, CommonCompilerArguments.DummyImpl::class.java)
3434
?: CommonCompilerArguments.DummyImpl()
35+
if (VersionComparatorUtil.compare(settings.languageVersion, settings.apiVersion) < 0) {
36+
settings.apiVersion = settings.languageVersion
37+
}
3538
JpsKotlinCompilerSettings.setCommonCompilerArguments(project, settings)
3639
}
3740

0 commit comments

Comments
 (0)