[Gradle] Use CommonizerTargetAttribute to disambiguate...
...commonized cinterop configurations. ^KT-59596 Verification Pending
This commit is contained in:
committed by
Space Team
parent
373c838ebb
commit
14f216764d
+14
-7
@@ -83,13 +83,6 @@ internal fun Project.locateOrCreateCInteropDependencyConfiguration(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Configuration.applyAttributesForCommonizerTarget(commonizerTarget: SharedCommonizerTarget) {
|
|
||||||
attributes.attribute(KotlinPlatformType.attribute, KotlinPlatformType.native)
|
|
||||||
// TODO: [KotlinNativeTarget.konanTargetAttribute] is a public attribute. It should be better to introduce dedicated private attribute
|
|
||||||
// TODO: for commonized target
|
|
||||||
attributes.attribute(KotlinNativeTarget.konanTargetAttribute, commonizerTarget.dashedIdentityString())
|
|
||||||
}
|
|
||||||
|
|
||||||
internal suspend fun Project.locateOrCreateCommonizedCInteropDependencyConfiguration(
|
internal suspend fun Project.locateOrCreateCommonizedCInteropDependencyConfiguration(
|
||||||
sourceSet: KotlinSourceSet,
|
sourceSet: KotlinSourceSet,
|
||||||
): Configuration? {
|
): Configuration? {
|
||||||
@@ -174,6 +167,11 @@ private fun commonizedCInteropApiElementsConfigurationName(commonizerTarget: Sha
|
|||||||
return commonizerTarget.dashedIdentityString() + "CInteropApiElements"
|
return commonizerTarget.dashedIdentityString() + "CInteropApiElements"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun Configuration.applyAttributesForCommonizerTarget(commonizerTarget: SharedCommonizerTarget) {
|
||||||
|
attributes.attribute(KotlinPlatformType.attribute, KotlinPlatformType.native)
|
||||||
|
CommonizerTargetAttribute.apply(attributes, commonizerTarget)
|
||||||
|
}
|
||||||
|
|
||||||
internal object CInteropKlibLibraryElements {
|
internal object CInteropKlibLibraryElements {
|
||||||
const val CINTEROP_KLIB = "cinterop-klib"
|
const val CINTEROP_KLIB = "cinterop-klib"
|
||||||
|
|
||||||
@@ -196,3 +194,12 @@ private class CInteropLibraryElementsCompatibilityRule : AttributeCompatibilityR
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private object CommonizerTargetAttribute {
|
||||||
|
private val attribute = Attribute.of("org.jetbrains.kotlin.native.commonizerTarget", String::class.java)
|
||||||
|
|
||||||
|
private val SharedCommonizerTarget.attributeValue get() = dashedIdentityString()
|
||||||
|
|
||||||
|
fun apply(attributeContainer: AttributeContainer, sharedCommonizerTarget: SharedCommonizerTarget) {
|
||||||
|
attributeContainer.attribute(attribute, sharedCommonizerTarget.attributeValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user