[KGP] Changed type of determining maturity version for k/n

#KT-62927 Fixed

Merge-request: KT-MR-12742
Merged-by: Dmitrii Krasnov <Dmitrii.Krasnov@jetbrains.com>
This commit is contained in:
Dmitrii Krasnov
2023-10-27 08:20:44 +00:00
committed by Space Team
parent 8821f8d1a4
commit 1a9cd81a85
2 changed files with 11 additions and 10 deletions
@@ -14,6 +14,9 @@ import org.jetbrains.kotlin.gradle.utils.NativeCompilerDownloader
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget
import org.jetbrains.kotlin.konan.target.presetName
import org.jetbrains.kotlin.tooling.core.KotlinToolingVersion
import org.jetbrains.kotlin.tooling.core.KotlinToolingVersion.Maturity.*
import org.jetbrains.kotlin.tooling.core.buildNumber
import org.junit.jupiter.api.Assumptions
import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.condition.OS
@@ -368,13 +371,12 @@ class NativeDownloadAndPlatformLibsIT : KGPBaseTest() {
)
private fun mavenUrl(): String {
val versionPattern = "(\\d+)\\.(\\d+)(?:\\.(\\d+))?(?:-(\\p{Alpha}*\\p{Alnum}|[\\p{Alpha}-]*))?(?:-(\\d+))?".toRegex()
val (_, _, _, metaString, build) = versionPattern.matchEntire(currentCompilerVersion)?.destructured
?: error("Unable to parse version $currentCompilerVersion")
val kotlinToolingVersion = KotlinToolingVersion(currentCompilerVersion)
val maturity = kotlinToolingVersion.maturity
val buildNumber = kotlinToolingVersion.buildNumber
return when {
metaString == "dev" || build.isNotEmpty() -> KOTLIN_SPACE_DEV
metaString in listOf("RC", "RC2", "Beta") || metaString.isEmpty() -> MAVEN_CENTRAL
else -> throw IllegalStateException("Not a published version $currentCompilerVersion")
maturity == DEV || buildNumber != null -> KOTLIN_SPACE_DEV
else -> MAVEN_CENTRAL
}
}
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.gradle.targets.native.internal.PlatformLibrariesGene
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget
import org.jetbrains.kotlin.konan.util.DependencyDirectories
import org.jetbrains.kotlin.tooling.core.KotlinToolingVersion
import java.io.File
import java.nio.file.Files
@@ -113,12 +114,10 @@ class NativeCompilerDownloader(
}
private val repoUrl by lazy {
val versionPattern = "(\\d+)\\.(\\d+)(?:\\.(\\d+))?(?:-(\\p{Alpha}*\\p{Alnum}|[\\p{Alpha}-]*))?(?:-(\\d+))?".toRegex()
val (_, _, _, buildType, _) = versionPattern.matchEntire(compilerVersion)?.destructured
?: error("Unable to parse version $compilerVersion")
val maturity = KotlinToolingVersion(compilerVersion).maturity
buildString {
append("${kotlinProperties.nativeBaseDownloadUrl}/")
append(if (buildType in listOf("RC", "RC2", "Beta") || buildType.isEmpty()) "releases/" else "dev/")
append(if (maturity == KotlinToolingVersion.Maturity.DEV) "dev/" else "releases/")
append("$compilerVersion/")
append(simpleOsName)
}