From 63372baea9d03a4354fa284c2bd46cbf516190c3 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Thu, 26 Jul 2018 18:01:42 +0300 Subject: [PATCH] Configuration: Do not auto-advance "Latest Stable" to pre-release version #KT-25611 Fixed Original commit: 5ac5a8d72390098b12414333192658612397bba1 --- .../jetbrains/kotlin/config/KotlinFacetSettings.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 11f0be6a6ba..8c4edf13a2f 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt @@ -74,7 +74,7 @@ sealed class VersionView : DescriptionAware { abstract val version: LanguageVersion object LatestStable : VersionView() { - override val version: LanguageVersion = LanguageVersion.LATEST_STABLE + override val version: LanguageVersion = RELEASED_VERSION override val description: String get() = "Latest stable (${version.versionString})" @@ -90,6 +90,15 @@ sealed class VersionView : DescriptionAware { } companion object { + val RELEASED_VERSION by lazy { + val latestStable = LanguageVersion.LATEST_STABLE + if (latestStable.isPreRelease()) { + val versions = LanguageVersion.values() + val index = versions.indexOf(latestStable) + versions.getOrNull(index - 1) ?: LanguageVersion.KOTLIN_1_0 + } else latestStable + } + fun deserialize(value: String?, isAutoAdvance: Boolean): VersionView { if (isAutoAdvance) return VersionView.LatestStable val languageVersion = LanguageVersion.fromVersionString(value)