From 2bda0c0c57a315457de3faee5f71c88269cc9a68 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Wed, 25 Jan 2023 18:38:06 +0100 Subject: [PATCH] [Gradle] Implement test covering KT-56198 (composite: mpp-jvm to jvm) --- .../kotlin/gradle/mpp/MppCompositeBuildIT.kt | 28 +++++++++++++++++++ .../consumerBuild/consumerA/build.gradle.kts | 13 +++++++++ .../consumerBuild/settings.gradle.kts | 14 ++++++++++ .../producerBuild/producerA/build.gradle.kts | 21 ++++++++++++++ .../producerBuild/settings.gradle.kts | 8 ++++++ 5 files changed, 84 insertions(+) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild/consumerA/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild/settings.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild/producerA/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild/settings.gradle.kts diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt index e9d2075575b..0ac6ba22b56 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppCompositeBuildIT.kt @@ -206,4 +206,32 @@ class MppCompositeBuildIT : KGPBaseTest() { } } } + + @GradleTest + fun `test - sample3-KT-56198-singleTargetMpp-includingJvm - ide dependencies`(gradleVersion: GradleVersion) { + val producer = project("mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild", gradleVersion) + + project("mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild", gradleVersion) { + settingsGradleKts.toFile().replaceText("", producer.projectPath.toUri().path) + resolveIdeDependencies(":consumerA") { dependencies -> + assertOutputDoesNotContain("e: org.jetbrains.kotlin.gradle.plugin.ide") + dependencies["commonMain"].assertMatches( + kotlinStdlibDependencies, + jetbrainsAnnotationDependencies, + projectArtifactDependency( + Regular, "producerBuild::producerA", FilePathRegex(".*producerA/build/libs/producerA-1.0.0-SNAPSHOT.jar") + ) + ) + + dependencies["jvmMain"].assertMatches( + kotlinStdlibDependencies, + jetbrainsAnnotationDependencies, + dependsOnDependency(":consumerA/commonMain"), + projectArtifactDependency( + Regular, "producerBuild::producerA", FilePathRegex(".*producerA/build/libs/producerA-1.0.0-SNAPSHOT.jar") + ) + ) + } + } + } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild/consumerA/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild/consumerA/build.gradle.kts new file mode 100644 index 00000000000..1048e24bcc1 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild/consumerA/build.gradle.kts @@ -0,0 +1,13 @@ +@file:Suppress("OPT_IN_USAGE") + +plugins { + kotlin("multiplatform") +} + +kotlin { + jvm() + + sourceSets.commonMain.get().dependencies { + implementation("org.jetbrains.sample:producerA:1.0.0-SNAPSHOT") + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild/settings.gradle.kts new file mode 100644 index 00000000000..51772eedeb2 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/consumerBuild/settings.gradle.kts @@ -0,0 +1,14 @@ +dependencyResolutionManagement { + repositories { + mavenLocal() + mavenCentral() + } +} + +include(":consumerA") + +includeBuild("") { + dependencySubstitution { + substitute(module("org.jetbrains.sample:producerA")).using(project(":producerA")) + } +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild/producerA/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild/producerA/build.gradle.kts new file mode 100644 index 00000000000..f0983f6ba24 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild/producerA/build.gradle.kts @@ -0,0 +1,21 @@ +@file:Suppress("OPT_IN_USAGE") + +plugins { + kotlin("jvm") + `maven-publish` +} + + +group = "org.jetbrains.sample" +version = "1.0.0-SNAPSHOT" + +publishing { + publications { + create("maven") { + groupId = "org.jetbrains.sample" + artifactId = "producerA" + version = "1.0.0-SNAPSHOT" + from(components["java"]) + } + } +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild/settings.gradle.kts new file mode 100644 index 00000000000..dd20205742e --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/mpp-composite-build/sample3-KT-56198-singleTargetMpp-includingJvm/producerBuild/settings.gradle.kts @@ -0,0 +1,8 @@ +dependencyResolutionManagement { + repositories { + mavenLocal() + mavenCentral() + } +} + +include(":producerA")