Adapt XCFramework for using with groovy dsl.

This commit is contained in:
Konstantin Tskhovrebov
2021-06-21 21:41:08 +03:00
committed by Space
parent c906d62c55
commit 28b8237836
@@ -57,9 +57,17 @@ internal class XCFrameworkTaskHolder(
} }
} }
class XCFrameworkConfig internal constructor( class XCFrameworkConfig {
private val taskHolders: List<XCFrameworkTaskHolder> private val taskHolders: List<XCFrameworkTaskHolder>
) {
constructor(project: Project, xcFrameworkName: String) {
taskHolders = NativeBuildType.values().map { buildType ->
XCFrameworkTaskHolder.create(project, xcFrameworkName, buildType)
}
}
constructor(project: Project) : this(project, project.name)
/** /**
* Adds the specified frameworks in this XCFramework. * Adds the specified frameworks in this XCFramework.
*/ */
@@ -79,13 +87,7 @@ class XCFrameworkConfig internal constructor(
} }
} }
fun Project.XCFramework( fun Project.XCFramework(xcFrameworkName: String = name) = XCFrameworkConfig(this, xcFrameworkName)
xcFrameworkName: String = name
) = XCFrameworkConfig(
NativeBuildType.values().map { buildType ->
XCFrameworkTaskHolder.create(this, xcFrameworkName, buildType)
}
)
private fun Project.parentAssembleXCFrameworkTask(xcFrameworkName: String): TaskProvider<Task> = private fun Project.parentAssembleXCFrameworkTask(xcFrameworkName: String): TaskProvider<Task> =
locateOrRegisterTask(lowerCamelCaseName("assemble", xcFrameworkName, "XCFramework")) { locateOrRegisterTask(lowerCamelCaseName("assemble", xcFrameworkName, "XCFramework")) {