Skip to content

Commit 1dcb22f

Browse files
authored
Replace KotlinPlatformType check with KotlinJvmTarget in JVM target configuration. (#5330)
Problem is the new AGP androidLibrary target has `platformType == KotlinPlatformType.jvm` as well. Fixes https://youtrack.jetbrains.com/issue/CMP-8325 ## Testing Unit tests ## Release Notes N/A
1 parent 673de03 commit 1dcb22f

File tree

6 files changed

+22
-16
lines changed

6 files changed

+22
-16
lines changed

gradle-plugins/compose/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ dependencies {
5858
compileOnly(gradleApi())
5959
compileOnly(localGroovy())
6060
//the version supports XCFramework with resources https://youtrack.jetbrains.com/issue/KT-75823
61-
compileOnly(kotlin("gradle-plugin", "2.2.0-Beta2-1"))
61+
compileOnly(kotlin("gradle-plugin", "2.2.0-RC2"))
6262
compileOnly(kotlin("native-utils"))
6363
compileOnly(libs.plugin.android)
6464
compileOnly(libs.plugin.android.api)

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ import org.jetbrains.compose.desktop.application.dsl.JvmApplicationBuildType
1313
import org.jetbrains.compose.internal.KOTLIN_JVM_PLUGIN_ID
1414
import org.jetbrains.compose.internal.KOTLIN_MPP_PLUGIN_ID
1515
import org.jetbrains.compose.internal.javaSourceSets
16-
import org.jetbrains.compose.internal.utils.joinDashLowercaseNonEmpty
1716
import org.jetbrains.compose.internal.mppExt
18-
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
17+
import org.jetbrains.compose.internal.utils.joinDashLowercaseNonEmpty
18+
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
1919

2020
internal data class JvmApplicationContext(
2121
val project: Project,
@@ -56,7 +56,7 @@ internal data class JvmApplicationContext(
5656
if (project.plugins.hasPlugin(KOTLIN_MPP_PLUGIN_ID)) {
5757
var isJvmTargetConfigured = false
5858
project.mppExt.targets.all { target ->
59-
if (target.platformType == KotlinPlatformType.jvm) {
59+
if (target is KotlinJvmTarget) {
6060
if (!isJvmTargetConfigured) {
6161
appInternal.from(target)
6262
isJvmTargetConfigured = true

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.jetbrains.compose.resources
22

3-
import com.android.build.api.dsl.KotlinMultiplatformAndroidTarget
3+
import com.android.build.api.dsl.KotlinMultiplatformAndroidLibraryTarget
44
import com.android.build.api.variant.AndroidComponentsExtension
55
import com.android.build.api.variant.HasAndroidTest
66
import com.android.build.api.variant.KotlinMultiplatformAndroidComponentsExtension
@@ -123,15 +123,16 @@ private fun Project.getAndroidKmpComponentComposeResources(
123123
kotlinExtension: KotlinMultiplatformExtension,
124124
componentName: String
125125
): FileCollection = project.files({
126-
kotlinExtension.targets.withType(KotlinMultiplatformAndroidTarget::class.java).flatMap { androidTarget ->
127-
androidTarget.compilations.flatMap { compilation ->
128-
if (compilation.componentName == componentName) {
129-
compilation.allKotlinSourceSets.map { kotlinSourceSet ->
130-
getPreparedComposeResourcesDir(kotlinSourceSet)
131-
}
132-
} else emptyList()
126+
kotlinExtension.targets.withType(KotlinMultiplatformAndroidLibraryTarget::class.java)
127+
.flatMap { androidTarget ->
128+
androidTarget.compilations.flatMap { compilation ->
129+
if (compilation.componentName == componentName) {
130+
compilation.allKotlinSourceSets.map { kotlinSourceSet ->
131+
getPreparedComposeResourcesDir(kotlinSourceSet)
132+
}
133+
} else emptyList()
134+
}
133135
}
134-
}
135136
})
136137

137138
private fun Project.configureGeneratedAndroidComponentAssets(

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
@@ -718,7 +718,7 @@ class ResourcesTest : GradlePluginTestBase() {
718718
with(
719719
testProject(
720720
"misc/appleResources",
721-
defaultTestEnvironment.copy(kotlinVersion = "2.2.0-Beta2-1"))
721+
defaultTestEnvironment.copy(kotlinVersion = "2.2.0-RC2"))
722722
) {
723723
file("build.gradle.kts").modify { content ->
724724
"""
@@ -871,7 +871,7 @@ class ResourcesTest : GradlePluginTestBase() {
871871
with(
872872
testProject(
873873
"misc/appleResources",
874-
defaultTestEnvironment.copy(kotlinVersion = "2.2.0-Beta2-1"))
874+
defaultTestEnvironment.copy(kotlinVersion = "2.2.0-RC2"))
875875
) {
876876
gradle(":podPublishDebugXCFramework").checks {
877877
assertDirectoriesContentEquals(

gradle-plugins/compose/src/test/test-projects/misc/newAgpResources/featureModule/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,9 @@ kotlin {
2323
implementation(compose.components.resources)
2424
}
2525
}
26+
}
27+
28+
//https://youtrack.jetbrains.com/issue/CMP-8325
29+
compose.desktop {
30+
application { }
2631
}

gradle-plugins/gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[versions]
2-
kotlin = "2.2.0-Beta1"
2+
kotlin = "2.2.0-RC2"
33
gradle-download-plugin = "5.5.0"
44
kotlin-poet = "2.1.0"
55
plugin-android = "8.9.1"

0 commit comments

Comments
 (0)