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 6360f251c18..3d0094627a2 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt @@ -160,7 +160,7 @@ data class ExternalSystemNativeMainRunTask( class KotlinFacetSettings { companion object { // Increment this when making serialization-incompatible changes to configuration data - val CURRENT_VERSION = 3 + val CURRENT_VERSION = 4 val DEFAULT_VERSION = 0 } diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt index 40b90f2071a..7412c7a016f 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt @@ -194,6 +194,10 @@ private fun readElementsList(element: Element, rootElementName: String, elementN return null } +private fun readV3Config(element: Element): KotlinFacetSettings { + return readV2AndLaterConfig(element) +} + private fun readV2Config(element: Element): KotlinFacetSettings { return readV2AndLaterConfig(element) } @@ -211,6 +215,7 @@ fun deserializeFacetSettings(element: Element): KotlinFacetSettings { return when (version) { 1 -> readV1Config(element) 2 -> readV2Config(element) + 3 -> readV3Config(element) KotlinFacetSettings.CURRENT_VERSION -> readLatestConfig(element) else -> return KotlinFacetSettings() // Reset facet configuration if versions don't match }.apply { this.version = version } @@ -397,7 +402,10 @@ fun Element.dropVersionsIfNecessary(settings: CommonCompilerArguments) { } fun KotlinFacetSettings.serializeFacetSettings(element: Element) { - val versionToWrite = if (version == 2) version else KotlinFacetSettings.CURRENT_VERSION + val versionToWrite = when (version) { + 2, 3 -> version + else -> KotlinFacetSettings.CURRENT_VERSION + } element.setAttribute("version", versionToWrite.toString()) writeLatestConfig(element) }