From 12cb02de948b028af3f263483f26f22e908116bc Mon Sep 17 00:00:00 2001 From: Jakub Chrzanowski Date: Mon, 7 Mar 2022 10:39:19 +0100 Subject: [PATCH] android_studio_releases.main.kts: fixed build number parsing --- .../scripts/android_studio_releases.main.kts | 13 +- .idea/gradle.xml | 4 +- .idea/kotlinScripting.xml | 9 + .idea/misc.xml | 7 +- topics/_generated/android_studio_releases.md | 592 +++--- topics/_generated/android_studio_releases.xml | 1585 ++++++++--------- 6 files changed, 1110 insertions(+), 1100 deletions(-) create mode 100644 .idea/kotlinScripting.xml diff --git a/.github/scripts/android_studio_releases.main.kts b/.github/scripts/android_studio_releases.main.kts index c36ea8f93..7ac9a144b 100755 --- a/.github/scripts/android_studio_releases.main.kts +++ b/.github/scripts/android_studio_releases.main.kts @@ -6,7 +6,10 @@ * Parsed list is used to generate the Markdown table. * The actual IntelliJ IDEA release version is obtained with the help of the JetBrains Data Services API. */ -@file:DependsOn("org.jsoup:jsoup:1.14.3") @file:DependsOn("net.swiftzer.semver:semver:1.1.2") @file:DependsOn("org.simpleframework:simple-xml:2.7.1") @file:DependsOn("org.json:json:20211205") +@file:DependsOn("org.jsoup:jsoup:1.14.3") +@file:DependsOn("net.swiftzer.semver:semver:1.1.2") +@file:DependsOn("org.simpleframework:simple-xml:2.7.1") +@file:DependsOn("org.json:json:20211205") import net.swiftzer.semver.SemVer import org.jsoup.Jsoup @@ -55,9 +58,13 @@ frameUrl.fetch { content -> val build = nameToBuildMapping[name].takeUnless(String?::isNullOrBlank) ?: run { item.select(".downloads a[href$=.zip]").firstOrNull()?.attr("href")?.resolveBuild() } ?: throw IllegalStateException("No platform build found for $name") - val platformBuild = build.split("-").last().split(".").take(3).joinToString(".").let(SemVer.Companion::parse) + val platformBuild = build.split('-', '.').drop(1).map { it.take(4).toInt() }.let { + val (major, minor, patch) = it + 0 + SemVer(major, minor, patch) + } + val platformVersion = platformBuildToVersionMapping[platformBuild] ?: run { - platformBuildToVersionMapping.entries.find { it.value < platformBuild }?.value + platformBuildToVersionMapping.entries.findLast { it.key < platformBuild }?.value } val channel = channelRaw.takeIf { it.isNotBlank() } ?: "release" diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 7c47bfe7f..9313b3391 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -114,6 +114,8 @@