From 7d047261d9541263296f28a557024a16aaa1f8d3 Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Tue, 19 Sep 2023 12:31:35 +0200 Subject: [PATCH] [Gradle] Test no CME when jupiter plugin is applied ^KT-61652 Verification Pending --- .../kotlin/gradle/MppIdeDependencyResolutionIT.kt | 9 +++++++++ .../app/build.gradle.kts | 15 +++++++++++++++ .../build.gradle.kts | 3 +++ .../jupyterApp/build.gradle.kts | 9 +++++++++ .../lib/build.gradle.kts | 8 ++++++++ .../settings.gradle.kts | 11 +++++++++++ 6 files changed, 55 insertions(+) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/app/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/jupyterApp/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/lib/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/settings.gradle.kts diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MppIdeDependencyResolutionIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MppIdeDependencyResolutionIT.kt index 6329f67ba4f..8f42100faa1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MppIdeDependencyResolutionIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MppIdeDependencyResolutionIT.kt @@ -381,6 +381,15 @@ class MppIdeDependencyResolutionIT : KGPBaseTest() { } } + @GradleTest + fun `kt-61652 test no CME when jupiter plugin is applied to independet project`(gradleVersion: GradleVersion) { + project("kt-61652-CME-when-jupiter-is-applied-to-independet-project", gradleVersion) { + resolveIdeDependencies(":app") { + assertOutputDoesNotContain("ConcurrentModificationException") + } + } + } + private fun Iterable.cinteropDependencies() = this.filterIsInstance().filter { it.klibExtra?.isInterop == true && !it.isNativeStdlib && !it.isNativeDistribution diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/app/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/app/build.gradle.kts new file mode 100644 index 00000000000..cb73b99509d --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/app/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + kotlin("multiplatform") +} + +kotlin { + jvm() + linuxX64() + sourceSets { + commonMain { + dependencies { + api(project(":lib")) + } + } + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/build.gradle.kts new file mode 100644 index 00000000000..95805026bdb --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/build.gradle.kts @@ -0,0 +1,3 @@ +plugins { + kotlin("multiplatform") apply false +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/jupyterApp/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/jupyterApp/build.gradle.kts new file mode 100644 index 00000000000..9eac7bcc7ac --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/jupyterApp/build.gradle.kts @@ -0,0 +1,9 @@ +plugins { + kotlin("multiplatform") + id("org.jetbrains.kotlin.jupyter.api") version "0.12.0-62" +} + +kotlin { + jvm() + linuxX64() +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/lib/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/lib/build.gradle.kts new file mode 100644 index 00000000000..ae3d228bf14 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/lib/build.gradle.kts @@ -0,0 +1,8 @@ +plugins { + kotlin("multiplatform") +} + +kotlin { + jvm() + linuxX64() +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/settings.gradle.kts new file mode 100644 index 00000000000..6a3004e76b3 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-61652-CME-when-jupiter-is-applied-to-independet-project/settings.gradle.kts @@ -0,0 +1,11 @@ + +dependencyResolutionManagement { + repositories { + mavenLocal() + mavenCentral() + } +} + +include(":lib") +include(":app") +include(":jupyterApp") \ No newline at end of file