Skip to content

Commit 113f162

Browse files
authored
Bump minimal supported Kotlin to 2.2.0. (#5501)
[#2614](JetBrains/compose-multiplatform-core#2614) bumps LV to 2.2 for all non-android platforms so let's update explicit check as well. Fixes [CMP-9282](https://youtrack.jetbrains.com/issue/CMP-9282/Minimal-Kotlin-version-requirements) ## Release Notes N/A
2 parents 13cc6f0 + d3b05fd commit 113f162

File tree

6 files changed

+16
-43
lines changed

6 files changed

+16
-43
lines changed

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/CheckComposeCompilerPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ internal fun Project.checkComposeCompilerPlugin() {
2828
}
2929
}
3030

31-
internal const val minimalSupportedKgpVersion = "2.1.0"
31+
internal const val minimalSupportedKgpVersion = "2.2.0"
3232
internal const val minimalSupportedKgpVersionError = "e: Configuration problem: " +
3333
"Minimal supported Kotlin Gradle Plugin version is $minimalSupportedKgpVersion"
3434
internal const val newComposeCompilerKotlinSupportPluginId = "org.jetbrains.kotlin.plugin.compose"

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/configureHotReload.kt

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,7 @@ import org.jetbrains.compose.internal.mppExt
88
import org.jetbrains.kotlin.gradle.plugin.KotlinBasePlugin
99
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
1010

11-
private const val minimalKotlinVersionForCHR = "2.1.20"
12-
13-
private const val minimalKotlinVersionForCHRWarning = "w: " +
14-
"Compose Hot Reload is disabled. To make use of it, you need to be on Kotlin $minimalKotlinVersionForCHR or higher."
15-
1611
private fun Project.applyHotReload(kgp: KotlinBasePlugin) {
17-
// check minimal kotlin version requirement
18-
val kgpVersion = kgp.pluginVersion
19-
if (Version.fromString(kgpVersion) < Version.fromString(minimalKotlinVersionForCHR)) {
20-
logger.warn(minimalKotlinVersionForCHRWarning)
21-
return
22-
}
23-
2412
// We add an explicit runtime dependency to the Compose Hot Reload Gradle plugin of a
2513
// specific preferred version (https://docs.gradle.org/current/userguide/dependency_versions.html),
2614
// so we are able to apply the plugin by id here at least of that preferred version

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/resources/ComposeResources.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ private fun Project.onKgpApplied(config: Provider<ResourcesExtension>, kgp: Kotl
3636

3737
if (kmpResourcesAreAvailable) {
3838
configureMultimoduleResources(kotlinExtension, config)
39-
configureXCFrameworkComposeResources(kotlinExtension, kgp)
39+
configureXCFrameworkComposeResources(kotlinExtension)
4040
} else {
4141
if (!disableMultimoduleResources) {
4242
if (!hasKmpResources) logger.info(
Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,30 @@
11
package org.jetbrains.compose.resources
22

33
import org.gradle.api.Project
4-
import org.jetbrains.compose.internal.Version
54
import org.jetbrains.kotlin.gradle.ComposeKotlinGradlePluginApi
65
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
7-
import org.jetbrains.kotlin.gradle.plugin.KotlinBasePlugin
86
import org.jetbrains.kotlin.gradle.plugin.extraProperties
97
import org.jetbrains.kotlin.gradle.plugin.mpp.Framework
108
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
119
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFrameworkTask
1210
import org.jetbrains.kotlin.gradle.plugin.mpp.resources.KotlinTargetResourcesPublication
1311

14-
private const val MIN_KGP_VERSION_FOR_XCFRAMEWORK_RESOURCES = "2.2.0-Beta2-1"
15-
1612
@OptIn(ComposeKotlinGradlePluginApi::class)
1713
internal fun Project.configureXCFrameworkComposeResources(
18-
kotlinExtension: KotlinMultiplatformExtension,
19-
kgp: KotlinBasePlugin
14+
kotlinExtension: KotlinMultiplatformExtension
2015
) {
21-
val kgpVersion = Version.fromString(kgp.pluginVersion)
2216
val kmpResources = extraProperties.get(KMP_RES_EXT) as KotlinTargetResourcesPublication
23-
val requiredVersion = Version.fromString(MIN_KGP_VERSION_FOR_XCFRAMEWORK_RESOURCES)
24-
val isAvailable = kgpVersion >= requiredVersion
25-
2617
tasks.withType(XCFrameworkTask::class.java).configureEach { task ->
27-
if (isAvailable) {
28-
logger.info("Configure compose resources in ${task.name}")
29-
kotlinExtension.targets
30-
.withType(KotlinNativeTarget::class.java)
31-
.configureEach { target ->
32-
target.binaries.withType(Framework::class.java).configureEach { framework ->
33-
task.addTargetResources(
34-
resources = kmpResources.resolveResources(target),
35-
target = framework.target.konanTarget
36-
)
37-
}
18+
logger.info("Configure compose resources in ${task.name}")
19+
kotlinExtension.targets
20+
.withType(KotlinNativeTarget::class.java)
21+
.configureEach { target ->
22+
target.binaries.withType(Framework::class.java).configureEach { framework ->
23+
task.addTargetResources(
24+
resources = kmpResources.resolveResources(target),
25+
target = framework.target.konanTarget
26+
)
3827
}
39-
} else {
40-
logger.warn("Compose resources are supported in XCFrameworks " +
41-
"since '$MIN_KGP_VERSION_FOR_XCFRAMEWORK_RESOURCES' Kotlin Gradle plugin version")
42-
}
28+
}
4329
}
4430
}

gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/HotReloadTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ class HotReloadTest : GradlePluginTestBase() {
3838
TestEnvironment(defaultTestEnvironment.workingDir, kotlinVersion = "2.1.0")))
3939
{
4040
gradleFailure("hotRun").checks {
41-
check.logContains("w: Compose Hot Reload is disabled")
42-
check.logContains("Task 'hotRun' not found")
41+
check.logContains("e: Configuration problem: Minimal supported Kotlin")
4342
}
4443
}
4544

gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/ResourcesTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -745,8 +745,8 @@ class ResourcesTest : GradlePluginTestBase() {
745745
|
746746
""".trimMargin()
747747
}
748-
gradle(":assembleComposeAppDebugXCFramework", "--dry-run").checks {
749-
check.logContains("Compose resources are supported in XCFrameworks since '2.2.0-Beta2-1' Kotlin Gradle plugin version")
748+
gradleFailure(":assembleComposeAppDebugXCFramework", "--dry-run").checks {
749+
check.logContains("e: Configuration problem: Minimal supported Kotlin")
750750
}
751751
}
752752
}

0 commit comments

Comments
 (0)