Expose some methods and properties related to Cocoapods dependencies to access them in Apple gradle plugin
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt
index d6f5a78..1851adf 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt
@@ -75,6 +75,9 @@
     this
 )
 
+fun KotlinNativeTarget.toSetupBuildTaskName(pod: CocoapodsDependency) =
+    this.toValidSDK.toSetupBuildTaskName(pod)
+
 private fun String.toBuildDependenciesTaskName(pod: CocoapodsDependency): String = lowerCamelCaseName(
     KotlinCocoapodsPlugin.POD_BUILD_TASK_NAME,
     pod.name.asValidTaskName(),
@@ -87,23 +90,24 @@
         name.asValidTaskName()
     )
 
+
+private val KotlinNativeTarget.toValidSDK: String
+    get() = when (konanTarget) {
+        IOS_X64 -> "iphonesimulator"
+        IOS_ARM32, IOS_ARM64 -> "iphoneos"
+        WATCHOS_X86, WATCHOS_X64 -> "watchsimulator"
+        WATCHOS_ARM32, WATCHOS_ARM64 -> "watchos"
+        TVOS_X64 -> "appletvsimulator"
+        TVOS_ARM64 -> "appletvos"
+        MACOS_X64 -> "macosx"
+        else -> throw IllegalArgumentException("Bad target ${konanTarget.name}.")
+    }
+
 open class KotlinCocoapodsPlugin : Plugin<Project> {
-    private fun KotlinMultiplatformExtension.supportedTargets() = targets
+    fun KotlinMultiplatformExtension.supportedTargets() = targets
         .withType(KotlinNativeTarget::class.java)
         .matching { it.konanTarget.family.isAppleFamily }
 
-    private val KotlinNativeTarget.toValidSDK: String
-        get() = when (konanTarget) {
-            IOS_X64 -> "iphonesimulator"
-            IOS_ARM32, IOS_ARM64 -> "iphoneos"
-            WATCHOS_X86, WATCHOS_X64 -> "watchsimulator"
-            WATCHOS_ARM32, WATCHOS_ARM64 -> "watchos"
-            TVOS_X64 -> "appletvsimulator"
-            TVOS_ARM64 -> "appletvos"
-            MACOS_X64 -> "macosx"
-            else -> throw IllegalArgumentException("Bad target ${konanTarget.name}.")
-        }
-
     /**
      * Splits a string using a whitespace characters as delimiters.
      * Ignores whitespaces in quotes and drops quotes, e.g. a string
@@ -527,7 +531,6 @@
     }
 
     override fun apply(project: Project): Unit = with(project) {
-
         pluginManager.withPlugin("kotlin-multiplatform") {
             val kotlinExtension = project.multiplatformExtension
             val cocoapodsExtension = CocoapodsExtension(this)
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt
index 7363934..aa7ca82 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt
@@ -444,7 +444,7 @@
     lateinit var pod: Provider<CocoapodsDependency>
 
     @get:OutputFile
-    internal val buildSettingsFile: Provider<File> = project.provider {
+    val buildSettingsFile: Provider<File> = project.provider {
         project.cocoapodsBuildDirs
             .buildSettings
             .resolve(getBuildSettingFileName(pod.get(), sdk.get()))
@@ -483,7 +483,8 @@
 
     @get:PathSensitive(PathSensitivity.ABSOLUTE)
     @get:InputFile
-    internal lateinit var buildSettingsFile: Provider<File>
+    lateinit var buildSettingsFile: Provider<File>
+        internal set
 
     @get:Nested
     internal lateinit var pod: Provider<CocoapodsDependency>
@@ -533,10 +534,10 @@
 }
 
 
-internal data class PodBuildSettingsProperties(
+data class PodBuildSettingsProperties(
     internal val buildDir: String,
     internal val configuration: String,
-    internal val configurationBuildDir: String,
+    val configurationBuildDir: String,
     internal val podsTargetSrcRoot: String,
     internal val cflags: String? = null,
     internal val headerPaths: String? = null,