[Gradle] KT-65528 Convert KGP IT - Consume Mpp From non-Kotlin

^KT-65528 In Progress

Merge-request: KT-MR-16066
Merged-by: Adam Semenenko <adam.semenenko@jetbrains.com>
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt
index 422610a..862384c 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt
@@ -7,20 +7,15 @@
 import org.jetbrains.kotlin.cli.common.arguments.K2NativeCompilerArguments
 import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments
 import org.jetbrains.kotlin.gradle.plugin.ProjectLocalConfigurations
-import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
-import org.jetbrains.kotlin.gradle.testbase.MPPNativeTargets
-import org.jetbrains.kotlin.gradle.testbase.assertHasDiagnostic
-import org.jetbrains.kotlin.gradle.testbase.assertNoDiagnostic
 import org.jetbrains.kotlin.gradle.util.isWindows
 import org.jetbrains.kotlin.gradle.util.modify
-import org.jetbrains.kotlin.gradle.util.replaceText
-import org.jetbrains.kotlin.konan.target.HostManager
-import org.jetbrains.kotlin.konan.target.KonanTarget
 import org.junit.Assert
 import org.junit.Test
 import java.util.*
 import java.util.zip.ZipFile
-import kotlin.test.*
+import kotlin.test.assertEquals
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
 
 open class NewMultiplatformIT : BaseGradleIT() {
     private val gradleVersion = GradleVersionRequired.FOR_MPP_SUPPORT
@@ -203,33 +198,6 @@
             }
         }
 
-    private val targetName = when (HostManager.host) {
-        KonanTarget.LINUX_X64 -> "linux64"
-        KonanTarget.MACOS_X64 -> "macos64"
-        KonanTarget.MACOS_ARM64 -> "macosArm64"
-        KonanTarget.MINGW_X64 -> "mingw64"
-        else -> fail("Unsupported host")
-    }
-
-    @Test
-    fun testConsumeMppLibraryFromNonKotlinProject() {
-        val libRepo = with(transformNativeTestProject("sample-lib", gradleVersion, "new-mpp-lib-and-app")) {
-            build("publish") { assertSuccessful() }
-            projectDir.resolve("repo")
-        }
-
-        with(transformNativeTestProject("sample-app-without-kotlin", gradleVersion, "new-mpp-lib-and-app")) {
-            setupWorkingDir()
-            gradleBuildScript().appendText("\nrepositories { maven { url '${libRepo.toURI()}' } }")
-
-            build("assemble") {
-                assertSuccessful()
-                assertTasksExecuted(":compileJava")
-                assertFileExists("build/classes/java/main/A.class")
-            }
-        }
-    }
-
     @Test
     fun testMppBuildWithCompilerPlugins() = with(transformNativeTestProject("sample-lib", gradleVersion, "new-mpp-lib-and-app")) {
         val printOptionsTaskName = "printCompilerPluginOptions"
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppConsumeFromNonKotlinIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppConsumeFromNonKotlinIT.kt
new file mode 100644
index 0000000..e981308
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppConsumeFromNonKotlinIT.kt
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+package org.jetbrains.kotlin.gradle.mpp
+
+import org.gradle.util.GradleVersion
+import org.jetbrains.kotlin.gradle.testbase.*
+import org.jetbrains.kotlin.test.TestMetadata
+import kotlin.io.path.appendText
+import kotlin.io.path.invariantSeparatorsPathString
+
+@MppGradlePluginTests
+class MppConsumeFromNonKotlinIT : KGPBaseTest() {
+
+    @GradleTest
+    @TestMetadata(value = "new-mpp-lib-and-app")
+    fun testConsumeMppLibraryFromNonKotlinProject(gradleVersion: GradleVersion) {
+
+        val localRepoDir = defaultLocalRepo(gradleVersion)
+
+        nativeProject(
+            projectName = "new-mpp-lib-and-app/sample-lib",
+            gradleVersion = gradleVersion,
+            localRepoDir = localRepoDir,
+        ) {
+            // TODO KT-67566 once all MppDslPublishedMetadataIT test are updated to new test DSL, update the projects to use `<localRepo>`
+            buildGradle.appendText(
+                """
+                publishing {
+                  repositories {
+                    maven {
+                      name = "LocalRepo"
+                      url = uri("${localRepoDir.invariantSeparatorsPathString}")
+                    }
+                  }
+                }
+                """.trimIndent()
+            )
+
+            build("publish")
+        }
+
+        project(
+            projectName = "new-mpp-lib-and-app/sample-app-without-kotlin",
+            gradleVersion = gradleVersion,
+            localRepoDir = localRepoDir,
+        ) {
+            build("assemble") {
+                assertTasksExecuted(":compileJava")
+                assertFileInProjectExists("build/classes/java/main/A.class")
+            }
+        }
+    }
+}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app-without-kotlin/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app-without-kotlin/build.gradle
index 43d647e..f4801fa 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app-without-kotlin/build.gradle
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app-without-kotlin/build.gradle
@@ -3,15 +3,10 @@
     id 'application'
 }
 
-repositories {
-	mavenLocal()
-	mavenCentral()
-}
-
 dependencies {
     implementation 'com.example:sample-lib:1.0'
 }
 
 application {
     mainClass = 'A'
-}
\ No newline at end of file
+}