Simplify set up of the resources variant in js and native targets
^KT-65540
This commit is contained in:
committed by
Space Team
parent
1895e480c5
commit
a8266eb20e
+6
-3
@@ -9,7 +9,9 @@ import org.gradle.api.file.DuplicatesStrategy
|
|||||||
import org.gradle.api.tasks.bundling.Zip
|
import org.gradle.api.tasks.bundling.Zip
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
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.KotlinCompilation
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.kotlinPropertiesProvider
|
||||||
import org.jetbrains.kotlin.gradle.plugin.launch
|
import org.jetbrains.kotlin.gradle.plugin.launch
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultKotlinUsageContext
|
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
|
// Use KotlinMultiplatformExtension to make sure this usage context is only creatable in MPP
|
||||||
@Suppress("UnusedReceiverParameter")
|
@Suppress("UnusedReceiverParameter")
|
||||||
internal fun KotlinMultiplatformExtension.setUpResourcesVariant(
|
internal fun AbstractKotlinTarget.setUpResourcesVariant(
|
||||||
target: AbstractKotlinTarget,
|
|
||||||
compilation: KotlinCompilation<*>,
|
compilation: KotlinCompilation<*>,
|
||||||
): DefaultKotlinUsageContext = with(target) {
|
): DefaultKotlinUsageContext? {
|
||||||
|
if (project.multiplatformExtensionOrNull == null || !project.kotlinPropertiesProvider.mppResourcesPublication) return null
|
||||||
|
|
||||||
var targetRegistersResourcesForPublication = false
|
var targetRegistersResourcesForPublication = false
|
||||||
val resourcesVariant = DefaultKotlinUsageContext(
|
val resourcesVariant = DefaultKotlinUsageContext(
|
||||||
compilation = compilation,
|
compilation = compilation,
|
||||||
|
|||||||
+5
-10
@@ -89,16 +89,11 @@ constructor(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if (project.kotlinPropertiesProvider.mppResourcesPublication) {
|
usageContexts.addIfNotNull(
|
||||||
project.multiplatformExtensionOrNull?.let {
|
setUpResourcesVariant(
|
||||||
usageContexts.add(
|
mainCompilation
|
||||||
it.setUpResourcesVariant(
|
)
|
||||||
this,
|
)
|
||||||
mainCompilation
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
val result = createKotlinVariant(componentName, mainCompilation, usageContexts)
|
val result = createKotlinVariant(componentName, mainCompilation, usageContexts)
|
||||||
|
|
||||||
|
|||||||
+4
-7
@@ -83,14 +83,11 @@ abstract class KotlinNativeTarget @Inject constructor(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if (project.kotlinPropertiesProvider.mppResourcesPublication) {
|
mutableUsageContexts.addIfNotNull(
|
||||||
mutableUsageContexts.add(
|
setUpResourcesVariant(
|
||||||
project.multiplatformExtension.setUpResourcesVariant(
|
mainCompilation
|
||||||
this,
|
|
||||||
mainCompilation,
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
}
|
)
|
||||||
|
|
||||||
val result = createKotlinVariant(targetName, mainCompilation, mutableUsageContexts)
|
val result = createKotlinVariant(targetName, mainCompilation, mutableUsageContexts)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user