[Gradle] Add kotlinNativeFrameworkNameAttribute for binary frameworks
^KT-57668 Verification Pending
This commit is contained in:
committed by
Space Team
parent
ae228ece8a
commit
ad9b34653a
+4
@@ -151,6 +151,10 @@ abstract class KotlinNativeTarget @Inject constructor(
|
||||
"org.jetbrains.kotlin.native.build.type",
|
||||
String::class.java
|
||||
)
|
||||
val kotlinNativeFrameworkNameAttribute = Attribute.of(
|
||||
"org.jetbrains.kotlin.native.framework.name",
|
||||
String::class.java
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-3
@@ -46,7 +46,8 @@ private val Framework.frameworkGroupDescription
|
||||
internal fun Project.createFrameworkArtifact(binaryFramework: Framework, linkTask: TaskProvider<KotlinNativeLink>) {
|
||||
val frameworkConfiguration = configurations.getOrCreate(binaryFramework.binaryFrameworkConfigurationName, invokeWhenCreated = {
|
||||
it.markConsumable()
|
||||
it.applyBinaryFrameworkAttributes(project, binaryFramework.frameworkGroupDescription, listOf(binaryFramework.target))
|
||||
it.applyBinaryFrameworkGroupAttributes(project, binaryFramework.frameworkGroupDescription, listOf(binaryFramework.target))
|
||||
it.attributes.attribute(KotlinNativeTarget.kotlinNativeFrameworkNameAttribute, binaryFramework.baseName)
|
||||
})
|
||||
|
||||
addFrameworkArtifact(frameworkConfiguration, linkTask.flatMap { it.outputFile })
|
||||
@@ -69,7 +70,7 @@ internal fun KotlinMultiplatformExtension.createFatFrameworks() {
|
||||
private val Framework.binaryFrameworkConfigurationName get() = lowerCamelCaseName(name, target.name)
|
||||
private val FrameworkGroupDescription.fatFrameworkConfigurationName get() = lowerCamelCaseName(frameworkName, targetFamilyName, "fat")
|
||||
|
||||
private fun Configuration.applyBinaryFrameworkAttributes(
|
||||
private fun Configuration.applyBinaryFrameworkGroupAttributes(
|
||||
project: Project,
|
||||
frameworkDescription: FrameworkGroupDescription,
|
||||
targets: List<KotlinNativeTarget>
|
||||
@@ -117,7 +118,7 @@ private fun Project.createFatFramework(groupDescription: FrameworkGroupDescripti
|
||||
|
||||
val fatFrameworkConfiguration = project.configurations.getOrCreate(fatFrameworkConfigurationName, invokeWhenCreated = {
|
||||
it.markConsumable()
|
||||
it.applyBinaryFrameworkAttributes(project, groupDescription, targets = frameworks.map(Framework::target))
|
||||
it.applyBinaryFrameworkGroupAttributes(project, groupDescription, targets = frameworks.map(Framework::target))
|
||||
})
|
||||
|
||||
addFrameworkArtifact(fatFrameworkConfiguration, fatFrameworkTask.map { it.fatFramework })
|
||||
|
||||
Reference in New Issue
Block a user