From 28b8237836ee8843cbbd9ecd5e512148005a870e Mon Sep 17 00:00:00 2001 From: Konstantin Tskhovrebov Date: Mon, 21 Jun 2021 21:41:08 +0300 Subject: [PATCH] Adapt XCFramework for using with groovy dsl. --- .../plugin/mpp/apple/XCFrameworkTask.kt | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/XCFrameworkTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/XCFrameworkTask.kt index 7d108fd978c..4e43c63244d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/XCFrameworkTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/XCFrameworkTask.kt @@ -57,9 +57,17 @@ internal class XCFrameworkTaskHolder( } } -class XCFrameworkConfig internal constructor( +class XCFrameworkConfig { private val taskHolders: List -) { + + 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. */ @@ -79,13 +87,7 @@ class XCFrameworkConfig internal constructor( } } -fun Project.XCFramework( - xcFrameworkName: String = name -) = XCFrameworkConfig( - NativeBuildType.values().map { buildType -> - XCFrameworkTaskHolder.create(this, xcFrameworkName, buildType) - } -) +fun Project.XCFramework(xcFrameworkName: String = name) = XCFrameworkConfig(this, xcFrameworkName) private fun Project.parentAssembleXCFrameworkTask(xcFrameworkName: String): TaskProvider = locateOrRegisterTask(lowerCamelCaseName("assemble", xcFrameworkName, "XCFramework")) {