Skip to content

Commit a8266eb

Browse files
timofey-soloninSpace Team
authored and
Space Team
committed
Simplify set up of the resources variant in js and native targets
^KT-65540
1 parent 1895e48 commit a8266eb

File tree

3 files changed

+15
-20
lines changed

3 files changed

+15
-20
lines changed

libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/resources/publication/KotlinTargetVariantResourcesPublication.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import org.gradle.api.file.DuplicatesStrategy
99
import org.gradle.api.tasks.bundling.Zip
1010
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
1111
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
12+
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
1213
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
14+
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.kotlinPropertiesProvider
1315
import org.jetbrains.kotlin.gradle.plugin.launch
1416
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinTarget
1517
import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultKotlinUsageContext
@@ -23,10 +25,11 @@ import org.jetbrains.kotlin.gradle.tasks.registerTask
2325

2426
// Use KotlinMultiplatformExtension to make sure this usage context is only creatable in MPP
2527
@Suppress("UnusedReceiverParameter")
26-
internal fun KotlinMultiplatformExtension.setUpResourcesVariant(
27-
target: AbstractKotlinTarget,
28+
internal fun AbstractKotlinTarget.setUpResourcesVariant(
2829
compilation: KotlinCompilation<*>,
29-
): DefaultKotlinUsageContext = with(target) {
30+
): DefaultKotlinUsageContext? {
31+
if (project.multiplatformExtensionOrNull == null || !project.kotlinPropertiesProvider.mppResourcesPublication) return null
32+
3033
var targetRegistersResourcesForPublication = false
3134
val resourcesVariant = DefaultKotlinUsageContext(
3235
compilation = compilation,

libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTarget.kt

+5-10
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,11 @@ constructor(
8989
)
9090
)
9191

92-
if (project.kotlinPropertiesProvider.mppResourcesPublication) {
93-
project.multiplatformExtensionOrNull?.let {
94-
usageContexts.add(
95-
it.setUpResourcesVariant(
96-
this,
97-
mainCompilation
98-
)
99-
)
100-
}
101-
}
92+
usageContexts.addIfNotNull(
93+
setUpResourcesVariant(
94+
mainCompilation
95+
)
96+
)
10297

10398
val result = createKotlinVariant(componentName, mainCompilation, usageContexts)
10499

libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt

+4-7
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,11 @@ abstract class KotlinNativeTarget @Inject constructor(
8383
)
8484
)
8585

86-
if (project.kotlinPropertiesProvider.mppResourcesPublication) {
87-
mutableUsageContexts.add(
88-
project.multiplatformExtension.setUpResourcesVariant(
89-
this,
90-
mainCompilation,
91-
)
86+
mutableUsageContexts.addIfNotNull(
87+
setUpResourcesVariant(
88+
mainCompilation
9289
)
93-
}
90+
)
9491

9592
val result = createKotlinVariant(targetName, mainCompilation, mutableUsageContexts)
9693

0 commit comments

Comments
 (0)