Test Swift Export fix

^KT-71512
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/AppleXcodeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/AppleXcodeTasks.kt
index 4dcfb21..db4176b 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/AppleXcodeTasks.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/AppleXcodeTasks.kt
@@ -178,20 +178,20 @@
 
 @ExperimentalSwiftExportDsl
 internal fun Project.registerEmbedSwiftExportTask(
-    binary: StaticLibrary,
+    removeme_library: StaticLibrary,
     environment: XcodeEnvironment,
     swiftExportExtension: SwiftExportExtension,
 ) {
     val envTargets = environment.targets
     val envBuildType = environment.buildType
-    val isMatchingBinary = envTargets.contains(binary.konanTarget) && binary.buildType == envBuildType
-    val binaryTaskName = binary.embedSwiftExportTaskName()
+    val isMatchingBinary = envTargets.contains(removeme_library.konanTarget) && removeme_library.buildType == envBuildType
+    val binaryTaskName = removeme_library.embedSwiftExportTaskName()
 
     if (isMatchingBinary) {
         if (!isRunWithXcodeEnvironment(
                 environment,
                 binaryTaskName,
-                "Embed swift export ${binary.namePrefix} library as requested by Xcode's environment variables"
+                "Embed swift export ${removeme_library.namePrefix} library as requested by Xcode's environment variables"
             )
         ) {
             return
@@ -202,13 +202,13 @@
         val swiftExportTask = registerSwiftExportTask(
             swiftExportExtension,
             SwiftExportDSLConstants.TASK_GROUP,
-            binary
+            removeme_library
         )
 
         swiftExportTask.dependsOn(sandBoxTask)
-        binary.linkTaskProvider.dependsOn(sandBoxTask)
+        removeme_library.linkTaskProvider.dependsOn(sandBoxTask)
 
-        val embedAndSignTask = registerEmbedTask(binary, binaryTaskName, environment) { false } ?: return
+        val embedAndSignTask = registerEmbedTask(removeme_library, binaryTaskName, environment) { false } ?: return
 
         embedAndSignTask.dependsOn(swiftExportTask)
     }
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftexport/SetupSwiftExportDSL.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftexport/SetupSwiftExportDSL.kt
index 7095d4b..b301ee1 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftexport/SetupSwiftExportDSL.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftexport/SetupSwiftExportDSL.kt
@@ -8,7 +8,6 @@
 import org.gradle.api.Project
 import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
 import org.jetbrains.kotlin.gradle.dsl.supportedAppleTargets
-import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
 import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupAction
 import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.kotlinPropertiesProvider
 import org.jetbrains.kotlin.gradle.plugin.addExtension
@@ -17,6 +16,7 @@
 import org.jetbrains.kotlin.gradle.plugin.mpp.StaticLibrary
 import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XcodeEnvironment
 import org.jetbrains.kotlin.gradle.plugin.mpp.apple.registerEmbedSwiftExportTask
+import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftexport.SwiftExportConstants.SWIFT_EXPORT_BINARY
 import org.jetbrains.kotlin.gradle.swiftexport.ExperimentalSwiftExportDsl
 
 internal object SwiftExportDSLConstants {
@@ -60,10 +60,10 @@
 }
 
 private fun Project.setupSwiftExport(
-    library: StaticLibrary,
+    removeme_library: StaticLibrary,
     environment: XcodeEnvironment,
     swiftExportExtension: SwiftExportExtension,
 ) {
-    swiftExportExtension.addBinary(library)
-    registerEmbedSwiftExportTask(library, environment, swiftExportExtension)
+    swiftExportExtension.addBinary(removeme_library)
+    registerEmbedSwiftExportTask(removeme_library, environment, swiftExportExtension)
 }
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftexport/SwiftExport.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftexport/SwiftExport.kt
index d989d36..047aef1 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftexport/SwiftExport.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftexport/SwiftExport.kt
@@ -8,9 +8,11 @@
 import org.gradle.api.NamedDomainObjectContainer
 import org.gradle.api.Project
 import org.gradle.api.Task
+import org.gradle.api.plugins.ExtensionAware
 import org.gradle.api.provider.Provider
 import org.gradle.api.tasks.TaskProvider
 import org.jetbrains.kotlin.gradle.dsl.KotlinNativeBinaryContainer
+import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
 import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
 import org.jetbrains.kotlin.gradle.plugin.mpp.*
 import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AppleTarget
@@ -38,11 +40,11 @@
 internal fun Project.registerSwiftExportTask(
     swiftExportExtension: SwiftExportExtension,
     taskGroup: String,
-    binary: StaticLibrary,
+    removeme_binary: StaticLibrary,
 ): TaskProvider<*> {
-    val mainCompilation = binary.target.compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME)
-    val buildConfiguration = binary.buildType.configuration
-    val target = binary.target
+    val mainCompilation = removeme_binary.target.compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME)
+    val buildConfiguration = removeme_binary.buildType.configuration
+    val target = removeme_binary.target
 
     val swiftApiModuleName = swiftExportExtension
         .moduleName
@@ -50,13 +52,13 @@
 
     val taskNamePrefix = lowerCamelCaseName(
         target.disambiguationClassifier ?: target.name,
-        binary.buildType.getName(),
+        removeme_binary.buildType.getName(),
     )
 
     val swiftExportTask = registerSwiftExportRun(
         taskNamePrefix = taskNamePrefix,
         taskGroup = taskGroup,
-        binary = binary,
+        removeme_binary = removeme_binary,
         configuration = buildConfiguration,
         mainCompilation = mainCompilation,
         swiftApiModuleName = swiftApiModuleName,
@@ -65,7 +67,7 @@
     )
 
     val staticLibrary = registerSwiftExportCompilationAndGetBinary(
-        buildType = binary.buildType,
+        buildType = removeme_binary.buildType,
         compilations = target.compilations,
         binaries = target.binaries,
         mainCompilation = mainCompilation,
@@ -114,7 +116,7 @@
 private fun Project.registerSwiftExportRun(
     taskNamePrefix: String,
     taskGroup: String,
-    binary: StaticLibrary,
+    removeme_binary: StaticLibrary,
     configuration: String,
     mainCompilation: KotlinNativeCompilation,
     swiftApiModuleName: Provider<String>,
@@ -126,10 +128,10 @@
         "swiftExport"
     )
 
-    val outputs = layout.buildDirectory.dir("SwiftExport/${binary.target.name}/$configuration")
+    val outputs = layout.buildDirectory.dir("SwiftExport/${removeme_binary.target.name}/$configuration")
     val files = outputs.map { it.dir("files") }
     val serializedModules = outputs.map { it.dir("modules").file("${swiftApiModuleName.get()}.json") }
-    val exportConfiguration = project.configurations.getByName(binary.exportConfigurationName)
+    val exportConfiguration = project.configurations.getByName(removeme_binary.exportConfigurationName)
     val configurationProvider = provider { LazyResolvedConfiguration(exportConfiguration) }
 
     return locateOrRegisterTask<SwiftExportTask>(swiftExportTaskName) { task ->
@@ -188,6 +190,8 @@
                 staticLib.compilation = swiftExportCompilation
                 staticLib.binaryOption("swiftExport", "true")
                 staticLib.binaryOption("cInterfaceMode", "none")
+
+                (swiftExportCompilation.project.multiplatformExtension as ExtensionAware).extensions.getByType<SwiftExportExtension>().addBinary(staticLib)
             }
         }
     )
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationAssociator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationAssociator.kt
index 8de4555..99716a7 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationAssociator.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationAssociator.kt
@@ -66,7 +66,7 @@
 internal object KotlinNativeCompilationAssociator : KotlinCompilationAssociator {
     override fun associate(target: KotlinTarget, auxiliary: InternalKotlinCompilation<*>, main: InternalKotlinCompilation<*>) {
         auxiliary.compileDependencyFiles +=
-            main.output.classesDirs + target.project.filesProvider { main.compileDependencyFiles }
+            main.output.classesDirs //+ target.project.filesProvider { main.compileDependencyFiles }
 
         target.project.configurations.named(auxiliary.implementationConfigurationName).configure { configuration ->
             configuration.extendsFrom(target.project.configurations.findByName(main.implementationConfigurationName))
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt
index 48ad559..1dd2f33 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt
@@ -309,24 +309,24 @@
                 }
             }
 
-        check(failed.isEmpty()) {
-            val failedDependenciesList = failed.joinToString(separator = "\n") {
-                val componentId = it.selected.id
-                when (componentId) {
-                    is ModuleComponentIdentifier -> "|Files: ${exportLibrariesResolvedConfiguration.getArtifacts(it).map { it.file }}"
-                    is ProjectComponentIdentifier -> "|Project ${componentId.projectPath}"
-                    else -> "|${componentId.displayName}"
-                }
-            }
-
-            """
-                |Following dependencies exported in the $binaryName binary are not specified as API-dependencies of a corresponding source set:
-                |
-                $failedDependenciesList
-                |
-                |Please add them in the API-dependencies and rerun the build.
-            """.trimMargin()
-        }
+//        check(failed.isEmpty()) {
+//            val failedDependenciesList = failed.joinToString(separator = "\n") {
+//                val componentId = it.selected.id
+//                when (componentId) {
+//                    is ModuleComponentIdentifier -> "|Files: ${exportLibrariesResolvedConfiguration.getArtifacts(it).map { it.file }}"
+//                    is ProjectComponentIdentifier -> "|Project ${componentId.projectPath}"
+//                    else -> "|${componentId.displayName}"
+//                }
+//            }
+//
+//            """
+//                |Following dependencies exported in the $binaryName binary are not specified as API-dependencies of a corresponding source set:
+//                |
+//                $failedDependenciesList
+//                |
+//                |Please add them in the API-dependencies and rerun the build.
+//            """.trimMargin()
+//        }
     }
 
     @Suppress("DEPRECATION")