diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt index da989e65afa..101cb79b84b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt @@ -998,7 +998,7 @@ class KotlinGradleIT : BaseGradleIT() { } @Test - fun testDetectingDifferentClassLoaders() = with(Project("kt-27059-pom-rewriting", GradleVersionRequired.FOR_MPP_SUPPORT)) { + fun testDetectingDifferentClassLoaders() = with(Project("differentClassloaders", GradleVersionRequired.FOR_MPP_SUPPORT)) { setupWorkingDir() val originalRootBuildScript = gradleBuildScript().readText() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/build.gradle new file mode 100644 index 00000000000..d2b1003ab16 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/build.gradle @@ -0,0 +1,10 @@ +plugins { + id "org.jetbrains.kotlin.multiplatform" version "" apply false +} + +allprojects { + repositories { + mavenLocal() + mavenCentral() + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/gradle.properties b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/gradle.properties new file mode 100644 index 00000000000..a0b65881e1b --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/gradle.properties @@ -0,0 +1 @@ +kotlin.js.compiler=legacy \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/js-app/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/js-app/build.gradle new file mode 100644 index 00000000000..668f0a8b88f --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/js-app/build.gradle @@ -0,0 +1,41 @@ +plugins { + id "kotlin2js" + id "maven-publish" + id "org.jetbrains.kotlin.plugin.serialization" +} + +group = "com.example" +version = "1.0" + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-js" +} + +if (project.findProperty("mppProjectDependency") == "true") { + + dependencies { + api project(":mpp-lib") + } + +} else { + + repositories { + maven { setUrl "${rootProject.buildDir}/repo" } + } + + dependencies { + api "com.example:mpp-lib:1.0" + } + +} + +publishing { + publications { + main(MavenPublication) { + from components.java + } + } + repositories { + maven { setUrl("${rootProject.buildDir}/repo") } + } +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/js-app/src/main/kotlin/A.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/js-app/src/main/kotlin/A.kt new file mode 100644 index 00000000000..13180bda65b --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/js-app/src/main/kotlin/A.kt @@ -0,0 +1,5 @@ +import com.example.mpp.lib.* + +fun main() { + println(hello()) +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/jvm-app/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/jvm-app/build.gradle new file mode 100644 index 00000000000..054b37e7d05 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/jvm-app/build.gradle @@ -0,0 +1,41 @@ +plugins { + id "org.jetbrains.kotlin.jvm" + id "maven-publish" + id "org.jetbrains.kotlin.plugin.allopen" +} + +group = "com.example" +version = "1.0" + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib" +} + +if (project.findProperty("mppProjectDependency") == "true") { + + dependencies { + api project(":mpp-lib") + } + +} else { + + repositories { + maven { setUrl "${rootProject.buildDir}/repo" } + } + + dependencies { + api "com.example:mpp-lib:1.0" + } + +} + +publishing { + publications { + main(MavenPublication) { + from components.java + } + } + repositories { + maven { setUrl("${rootProject.buildDir}/repo") } + } +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/jvm-app/src/main/kotlin/A.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/jvm-app/src/main/kotlin/A.kt new file mode 100644 index 00000000000..13180bda65b --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/jvm-app/src/main/kotlin/A.kt @@ -0,0 +1,5 @@ +import com.example.mpp.lib.* + +fun main() { + println(hello()) +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/mpp-lib/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/mpp-lib/build.gradle new file mode 100644 index 00000000000..686876fbf8f --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/mpp-lib/build.gradle @@ -0,0 +1,42 @@ +plugins { + id "org.jetbrains.kotlin.multiplatform" + id "maven-publish" +} + +group = "com.example" +version = "1.0" + +kotlin { + jvm() + js() + + sourceSets { + commonMain { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-stdlib-common' + } + } + jvmMain { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-stdlib' + } + } + jsMain { + dependencies { + implementation 'org.jetbrains.kotlin:kotlin-stdlib-js' + } + } + } +} + +publishing { + publications { + jvm { + artifactId = "mpp-lib-myjvm" + } + } + + repositories { + maven { setUrl("${rootProject.buildDir}/repo") } + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/mpp-lib/src/commonMain/kotlin/Hello.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/mpp-lib/src/commonMain/kotlin/Hello.kt new file mode 100644 index 00000000000..003c59d9d22 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/mpp-lib/src/commonMain/kotlin/Hello.kt @@ -0,0 +1,3 @@ +package com.example.mpp.lib + +fun hello(): String = "hello" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/settings.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/settings.gradle new file mode 100644 index 00000000000..71d6bf80a4b --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/differentClassloaders/settings.gradle @@ -0,0 +1 @@ +include(":mpp-lib", ":jvm-app", ":js-app")