[IDE] Propagate KotlinFacetSettings version and completely drop isReleaseCoroutines flag

Also this commit removes number of tests related to support
  experimental coroutines

Original commit: af94bcebea
This commit is contained in:
Dmitriy Novozhilov
2020-12-29 13:47:21 +03:00
committed by TeamCityServer
parent 377b78d9e6
commit 4652312c5e
2 changed files with 10 additions and 2 deletions
@@ -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
}
@@ -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)
}