diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/resources/publication/KotlinTargetVariantResourcesPublication.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/resources/publication/KotlinTargetVariantResourcesPublication.kt index 45d5f12219e..a52a5a34583 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/resources/publication/KotlinTargetVariantResourcesPublication.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/resources/publication/KotlinTargetVariantResourcesPublication.kt @@ -9,7 +9,9 @@ import org.gradle.api.file.DuplicatesStrategy import org.gradle.api.tasks.bundling.Zip import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension +import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation +import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.kotlinPropertiesProvider import org.jetbrains.kotlin.gradle.plugin.launch import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinTarget import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultKotlinUsageContext @@ -23,10 +25,11 @@ import org.jetbrains.kotlin.gradle.tasks.registerTask // Use KotlinMultiplatformExtension to make sure this usage context is only creatable in MPP @Suppress("UnusedReceiverParameter") -internal fun KotlinMultiplatformExtension.setUpResourcesVariant( - target: AbstractKotlinTarget, +internal fun AbstractKotlinTarget.setUpResourcesVariant( compilation: KotlinCompilation<*>, -): DefaultKotlinUsageContext = with(target) { +): DefaultKotlinUsageContext? { + if (project.multiplatformExtensionOrNull == null || !project.kotlinPropertiesProvider.mppResourcesPublication) return null + var targetRegistersResourcesForPublication = false val resourcesVariant = DefaultKotlinUsageContext( compilation = compilation, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt index 51f798575b6..6cb16398c04 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt @@ -89,16 +89,11 @@ constructor( ) ) - if (project.kotlinPropertiesProvider.mppResourcesPublication) { - project.multiplatformExtensionOrNull?.let { - usageContexts.add( - it.setUpResourcesVariant( - this, - mainCompilation - ) - ) - } - } + usageContexts.addIfNotNull( + setUpResourcesVariant( + mainCompilation + ) + ) val result = createKotlinVariant(componentName, mainCompilation, usageContexts) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt index 47bccf66890..43f75792702 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt @@ -83,14 +83,11 @@ abstract class KotlinNativeTarget @Inject constructor( ) ) - if (project.kotlinPropertiesProvider.mppResourcesPublication) { - mutableUsageContexts.add( - project.multiplatformExtension.setUpResourcesVariant( - this, - mainCompilation, - ) + mutableUsageContexts.addIfNotNull( + setUpResourcesVariant( + mainCompilation ) - } + ) val result = createKotlinVariant(targetName, mainCompilation, mutableUsageContexts)