[Gradle, K/N] Add user-defined variant attributes to framework artifact
This commit is contained in:
+10
@@ -165,6 +165,16 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget>(
|
||||
KotlinNativeTarget.konanBuildTypeAttribute,
|
||||
binary.buildType.name
|
||||
)
|
||||
// capture type parameter T
|
||||
fun <T> copyAttribute(key: Attribute<T>, from: AttributeContainer, to: AttributeContainer) {
|
||||
to.attribute(key, from.getAttribute(key)!!)
|
||||
}
|
||||
binary.target.getAttributes().keySet().forEach {
|
||||
copyAttribute(it, binary.target.getAttributes(), this.attributes)
|
||||
}
|
||||
binary.attributes.keySet().forEach {
|
||||
copyAttribute(it, binary.attributes, this.attributes)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+8
-1
@@ -11,6 +11,9 @@ import org.gradle.api.Action
|
||||
import org.gradle.api.Named
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.Dependency
|
||||
import org.gradle.api.attributes.Attribute
|
||||
import org.gradle.api.attributes.AttributeContainer
|
||||
import org.gradle.api.attributes.HasAttributes
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.tasks.AbstractExecTask
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
@@ -229,7 +232,11 @@ class Framework(
|
||||
baseName: String,
|
||||
buildType: NativeBuildType,
|
||||
compilation: KotlinNativeCompilation
|
||||
) : AbstractNativeLibrary(name, baseName, buildType, compilation) {
|
||||
) : AbstractNativeLibrary(name, baseName, buildType, compilation), HasAttributes {
|
||||
|
||||
private val attributeContainer = HierarchyAttributeContainer(parent = null)
|
||||
|
||||
override fun getAttributes() = attributeContainer
|
||||
|
||||
override val outputKind: NativeOutputKind
|
||||
get() = NativeOutputKind.FRAMEWORK
|
||||
|
||||
Reference in New Issue
Block a user