From 1143865e8871c12b19990ae6b0c8264d8dd202ad Mon Sep 17 00:00:00 2001 From: Dmitry Savvinov Date: Fri, 15 Jan 2021 13:23:04 +0300 Subject: [PATCH] Minor: add test on importing platform of commonMain in single-backend project --- ...chicalMultiplatformProjectImportingTest.kt | 21 +++++++++++++++++++ .../build.gradle.kts | 21 +++++++++++++++++++ .../gradle.properties | 1 + .../settings.gradle.kts | 9 ++++++++ 4 files changed, 52 insertions(+) create mode 100644 idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/build.gradle.kts create mode 100644 idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/gradle.properties create mode 100644 idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/settings.gradle.kts diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt index 0a732580dc6..5130be92a4e 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt @@ -578,6 +578,27 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl } } + @Test + @PluginTargetVersions(gradleVersionForLatestPlugin = mppImportTestMinVersionForMaster) + fun testCommonMainIsSingleBackend() { + configureByFiles() + importProject() + + val macosX64 = NativePlatforms.nativePlatformBySingleTarget(KonanTarget.MACOS_X64) + val linuxX64 = NativePlatforms.nativePlatformBySingleTarget(KonanTarget.LINUX_X64) + + checkProjectStructure(exhaustiveModuleList = false, exhaustiveSourceSourceRootList = false, exhaustiveDependencyList = false) { + module("my-app.commonMain") { targetPlatform(macosX64, linuxX64) } + module("my-app.commonTest") { targetPlatform(macosX64, linuxX64) } + + module("my-app.linuxX64Main") { targetPlatform(linuxX64) } + module("my-app.linuxX64Test") { targetPlatform(linuxX64) } + + module("my-app.macosX64Test") { targetPlatform(macosX64) } + module("my-app.macosX64Main") { targetPlatform(macosX64) } + } + } + private fun checkProjectStructure( exhaustiveModuleList: Boolean = true, exhaustiveSourceSourceRootList: Boolean = true, diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/build.gradle.kts b/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/build.gradle.kts new file mode 100644 index 00000000000..d01c1a2e049 --- /dev/null +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/build.gradle.kts @@ -0,0 +1,21 @@ +buildscript { + repositories { + {{kts_kotlin_plugin_repositories}} + } +} + +repositories { + {{kts_kotlin_plugin_repositories}} +} + +plugins { + kotlin("multiplatform").version("{{kotlin_plugin_version}}") +} + +group = "project" +version = "1.0" + +kotlin { + linuxX64() + macosX64() +} \ No newline at end of file diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/gradle.properties b/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/gradle.properties new file mode 100644 index 00000000000..5947cb440c4 --- /dev/null +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/gradle.properties @@ -0,0 +1 @@ +kotlin.mpp.enableGranularSourceSetsMetadata=true diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/settings.gradle.kts b/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/settings.gradle.kts new file mode 100644 index 00000000000..176c45caae2 --- /dev/null +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/commonMainIsSingleBackend/settings.gradle.kts @@ -0,0 +1,9 @@ +pluginManagement { + repositories { + {{kts_kotlin_plugin_repositories}} + } +} + +rootProject.name = "my-app" + +enableFeaturePreview("GRADLE_METADATA") \ No newline at end of file