fixup! Introduce SwiftPMImportIdeContext
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/apple/SwiftPMImportIdeContextTests.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/apple/SwiftPMImportIdeModelTests.kt
similarity index 93%
rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/apple/SwiftPMImportIdeContextTests.kt
rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/apple/SwiftPMImportIdeModelTests.kt
index c51c592..0ec6790 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/apple/SwiftPMImportIdeContextTests.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/apple/SwiftPMImportIdeModelTests.kt
@@ -3,10 +3,13 @@
  * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
  */
 
+@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
+
 package org.jetbrains.kotlin.gradle.apple
 
 import org.gradle.kotlin.dsl.kotlin
 import org.gradle.util.GradleVersion
+import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
 import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
 import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
 import org.jetbrains.kotlin.gradle.plugin.ide.prepareKotlinIdeaImportTask
@@ -25,8 +28,6 @@
 import org.jetbrains.kotlin.gradle.uklibs.include
 import org.jetbrains.kotlin.gradle.util.runProcess
 import org.junit.jupiter.api.condition.OS
-import org.junit.jupiter.api.io.TempDir
-import java.nio.file.Path
 import kotlin.io.path.createDirectories
 import kotlin.test.assertEquals
 
@@ -35,11 +36,11 @@
     enabledOnCI = [OS.MAC],
 )
 @SwiftPMImportGradlePluginTests
-class SwiftPMImportIdeContextTests : KGPBaseTest() {
+class SwiftPMImportIdeModelTests : KGPBaseTest() {
 
     @OptIn(Idea222Api::class)
     @GradleTest
-    fun `hasSwiftPMDependencies - transitive SwiftPM dependencies from project dependencies - influence hasSwiftPMDependencies flag`(version: GradleVersion, @TempDir temp: Path) {
+    fun `hasSwiftPMDependencies - transitive SwiftPM dependencies from project dependencies - influence hasSwiftPMDependencies flag`(version: GradleVersion) {
         project("empty", version) {
             plugins {
                 kotlin("multiplatform").apply(false)
@@ -89,14 +90,14 @@
             val consumerWithDependencyHasSwiftPMDependenciesProvider = consumerWithDependency.providerBuildScriptReturn {
                 project.prepareKotlinIdeaImportTask.map {
                     project.ignoreAccessViolations {
-                        (project.kotlinExtension as KotlinMultiplatformExtension).swiftPMImportIdeContext?.hasSwiftPMDependencies ?: error("...")
+                        (project.kotlinExtension as KotlinMultiplatformExtension).swiftPMImportIdeModel?.hasSwiftPMDependencies ?: error("...")
                     }
                 }
             }
             val consumerWithoutDependencyHasSwiftPMDependenciesProvider = consumerWithoutDependency.providerBuildScriptReturn {
                 project.prepareKotlinIdeaImportTask.map {
                     project.ignoreAccessViolations {
-                        (project.kotlinExtension as KotlinMultiplatformExtension).swiftPMImportIdeContext?.hasSwiftPMDependencies ?: error("...")
+                        (project.kotlinExtension as KotlinMultiplatformExtension).swiftPMImportIdeModel?.hasSwiftPMDependencies ?: error("...")
                     }
                 }
             }
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt
index 6b69fd3..4233ba5 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt
@@ -26,7 +26,7 @@
 import org.jetbrains.kotlin.gradle.plugin.hierarchy.KotlinHierarchyDslImpl
 import org.jetbrains.kotlin.gradle.plugin.hierarchy.redundantDependsOnEdgesTracker
 import org.jetbrains.kotlin.gradle.plugin.mpp.*
-import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftimport.swiftPMImportIdeContextProvider
+import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftimport.swiftPMImportIdeModelProvider
 import org.jetbrains.kotlin.gradle.targets.android.internal.InternalKotlinTargetPreset
 import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
 import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinWasmJsTargetDsl
@@ -277,9 +277,9 @@
                 syncCommonMultiplatformOptions(it)
             }
 
-    // This getter is consumed during KMP import
-    internal val swiftPMImportIdeContext
-        get() = if (!project.kotlinPropertiesProvider.disableSwiftPMImport) project.swiftPMImportIdeContextProvider().get() else null
+    // This getter is consumed during KMP import in KotlinMPPGradleModelBuilder
+    internal val swiftPMImportIdeModel
+        get() = if (!project.kotlinPropertiesProvider.disableSwiftPMImport) project.swiftPMImportIdeModelProvider().get() else null
 }
 
 private const val targetsExtensionDeprecationMessage =
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftImportSetupAction.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftImportSetupAction.kt
index 929db38..c89c09d 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftImportSetupAction.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftImportSetupAction.kt
@@ -174,7 +174,7 @@
     }
 
     prepareKotlinIdeaImportTask.configure {
-        it.dependsOn(project.swiftPMImportIdeContextProvider())
+        it.dependsOn(project.swiftPMImportIdeModelProvider())
     }
 
     kotlinExtension.targets.matching { it.supportsSwiftPMImport() }.all { target ->
@@ -513,9 +513,9 @@
     }
 }
 
-internal fun Project.swiftPMImportIdeContextProvider(): Provider<SwiftPMImportIdeContext> =
+internal fun Project.swiftPMImportIdeModelProvider(): Provider<SwiftPMImportIdeModel> =
     project.hasDirectOrTransitiveSwiftPMDependencies().map { hasDirectOrTransitiveSwiftPMDependencies ->
-        SwiftPMImportIdeContext(
+        SwiftPMImportIdeModel(
             hasDirectOrTransitiveSwiftPMDependencies,
             ("${project.path}:${IntegrateLinkagePackageIntoXcodeProject.TASK_NAME}").replace("::", ":"),
             SYNTHETIC_IMPORT_TARGET_MAGIC_NAME,
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftPMImportIdeContext.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftPMImportIdeModel.kt
similarity index 89%
rename from libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftPMImportIdeContext.kt
rename to libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftPMImportIdeModel.kt
index f33db33..3524dea 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftPMImportIdeContext.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/apple/swiftimport/SwiftPMImportIdeModel.kt
@@ -6,7 +6,7 @@
 package org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftimport
 
 @Suppress("unused")
-internal data class SwiftPMImportIdeContext(
+internal data class SwiftPMImportIdeModel(
     val hasSwiftPMDependencies: Boolean,
     val integrateLinkagePackageTaskPath: String,
     val magicPackageName: String,
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/SwiftPMImportIdeContextTests.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/SwiftPMImportIdeModelTests.kt
similarity index 82%
rename from libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/SwiftPMImportIdeContextTests.kt
rename to libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/SwiftPMImportIdeModelTests.kt
index 1ddbbd9..7e19976 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/SwiftPMImportIdeContextTests.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/SwiftPMImportIdeModelTests.kt
@@ -8,7 +8,7 @@
 import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
 import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftimport.GenerateSyntheticLinkageImportProject.Companion.SYNTHETIC_IMPORT_TARGET_MAGIC_NAME
 import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftimport.IntegrateLinkagePackageIntoXcodeProject
-import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftimport.SwiftPMImportIdeContext
+import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftimport.SwiftPMImportIdeModel
 import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftimport.locateOrRegisterSwiftPMDependenciesExtension
 import org.jetbrains.kotlin.gradle.util.buildProject
 import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
@@ -16,11 +16,11 @@
 import kotlin.test.Test
 import kotlin.test.assertEquals
 
-class SwiftPMImportIdeContextTests {
+class SwiftPMImportIdeModelTests {
     @Test
-    fun `swiftPMImportIdeContext - project without SwiftPM dependencies`() {
+    fun `swiftPMImportIdeModel - project without SwiftPM dependencies`() {
         assertEquals(
-            SwiftPMImportIdeContext(
+            SwiftPMImportIdeModel(
                 hasSwiftPMDependencies = false,
                 integrateLinkagePackageTaskPath = ":${IntegrateLinkagePackageIntoXcodeProject.TASK_NAME}",
                 magicPackageName = SYNTHETIC_IMPORT_TARGET_MAGIC_NAME,
@@ -29,7 +29,7 @@
                 kotlin {
                     iosArm64()
                 }
-            }.multiplatformExtension.swiftPMImportIdeContext
+            }.multiplatformExtension.swiftPMImportIdeModel
         )
     }
 
@@ -45,15 +45,15 @@
                 kotlin {
                     iosArm64()
                 }
-            }.multiplatformExtension.swiftPMImportIdeContext.integrateLinkagePackageTaskPath
+            }.multiplatformExtension.swiftPMImportIdeModel?.integrateLinkagePackageTaskPath
         )
     }
 
     // The rest of this suite has to be implemented as an integration test because interproject SwiftPM dependencies work by serializing using a task
     @Test
-    fun `swiftPMImportIdeContext - project with direct SwiftPM dependency`() {
+    fun `swiftPMImportIdeModel - project with direct SwiftPM dependency`() {
         assertEquals(
-            SwiftPMImportIdeContext(
+            SwiftPMImportIdeModel(
                 hasSwiftPMDependencies = true,
                 integrateLinkagePackageTaskPath = ":${IntegrateLinkagePackageIntoXcodeProject.TASK_NAME}",
                 magicPackageName = SYNTHETIC_IMPORT_TARGET_MAGIC_NAME,
@@ -63,7 +63,7 @@
                     iosArm64()
                     locateOrRegisterSwiftPMDependenciesExtension().swiftPackage(url = "foo", version = "1.0.0", products = listOf("bar"))
                 }
-            }.multiplatformExtension.swiftPMImportIdeContext
+            }.multiplatformExtension.swiftPMImportIdeModel
         )
     }
 }
\ No newline at end of file