11package org.jetbrains.compose.resources
22
33import org.gradle.api.Project
4- import org.jetbrains.compose.internal.Version
54import org.jetbrains.kotlin.gradle.ComposeKotlinGradlePluginApi
65import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
7- import org.jetbrains.kotlin.gradle.plugin.KotlinBasePlugin
86import org.jetbrains.kotlin.gradle.plugin.extraProperties
97import org.jetbrains.kotlin.gradle.plugin.mpp.Framework
108import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
119import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFrameworkTask
1210import 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 )
1713internal 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}
0 commit comments