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 71eb6efae5d..60d88228d77 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 @@ -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 + ) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/configureBinaryFrameworks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/configureBinaryFrameworks.kt index 3e5d2a1c4cb..80d351646a8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/configureBinaryFrameworks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/configureBinaryFrameworks.kt @@ -46,7 +46,8 @@ private val Framework.frameworkGroupDescription internal fun Project.createFrameworkArtifact(binaryFramework: Framework, linkTask: TaskProvider) { 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 @@ -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 })