From fa869c2c2a7b7b3fb51c296299db8bf1e07494a4 Mon Sep 17 00:00:00 2001 From: Dmitry Savvinov Date: Tue, 1 Jun 2021 18:22:26 +0300 Subject: [PATCH] Add test on KT-46936 --- ...chicalMultiplatformProjectImportingTest.kt | 69 +++++++++++++++++++ .../build.gradle.kts | 22 ++++++ .../gradle.properties | 1 + .../settings.gradle.kts | 9 +++ 4 files changed, 101 insertions(+) create mode 100644 idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/build.gradle.kts create mode 100644 idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/gradle.properties create mode 100644 idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/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 c232c296965..9b3d0db60c9 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt @@ -598,6 +598,75 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl } } + @Test + @PluginTargetVersions() + fun testDependencyOnStdlibFromPlatformSourceSets() { + configureByFiles() + importProject() + + checkProjectStructure(exhaustiveModuleList = false, exhaustiveSourceSourceRootList = false, exhaustiveDependencyList = true) { + module("my-app.jvmMain") { + moduleDependency("my-app.commonMain", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk8:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.COMPILE) + } + + module("my-app.jvmTest") { + moduleDependency("my-app.commonTest", DependencyScope.TEST) + moduleDependency("my-app.jvmMain", DependencyScope.TEST) + moduleDependency("my-app.jvmMain", DependencyScope.TEST) + moduleDependency("my-app.commonMain", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:${gradleKotlinPluginVersion}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk8:${gradleKotlinPluginVersion}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${gradleKotlinPluginVersion}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.TEST) + } + + module("my-app.jsMain") { + moduleDependency("my-app.commonMain", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) + } + + module("my-app.jsTest") { + moduleDependency("my-app.commonTest", DependencyScope.TEST) + moduleDependency("my-app.commonMain", DependencyScope.TEST) + moduleDependency("my-app.jsMain", DependencyScope.TEST) + moduleDependency("my-app.jsMain", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:${gradleKotlinPluginVersion}", DependencyScope.TEST) + } + + module("my-app.linuxX64Main") { + moduleDependency("my-app.commonMain", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - builtin [linux_x64]", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - iconv [linux_x64]", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - linux [linux_x64]", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - posix [linux_x64]", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - stdlib", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - zlib [linux_x64]", DependencyScope.PROVIDED) + } + + module("my-app.linuxX64Test") { + moduleDependency("my-app.commonTest", DependencyScope.TEST) + moduleDependency("my-app.commonMain", DependencyScope.TEST) + moduleDependency("my-app.linuxX64Main", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - builtin [linux_x64]", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - iconv [linux_x64]", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - linux [linux_x64]", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - posix [linux_x64]", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - stdlib", DependencyScope.PROVIDED) + libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - zlib [linux_x64]", DependencyScope.PROVIDED) + } + } + } + private fun checkProjectStructure( exhaustiveModuleList: Boolean = true, exhaustiveSourceSourceRootList: Boolean = true, diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/build.gradle.kts b/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/build.gradle.kts new file mode 100644 index 00000000000..5501a25a880 --- /dev/null +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/build.gradle.kts @@ -0,0 +1,22 @@ +buildscript { + repositories { + {{kts_kotlin_plugin_repositories}} + } +} + +repositories { + {{kts_kotlin_plugin_repositories}} +} + +plugins { + kotlin("multiplatform").version("{{kotlin_plugin_version}}") +} + +group = "project" +version = "1.0" + +kotlin { + jvm() + js() + linuxX64() +} \ No newline at end of file diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/gradle.properties b/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/gradle.properties new file mode 100644 index 00000000000..5947cb440c4 --- /dev/null +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/gradle.properties @@ -0,0 +1 @@ +kotlin.mpp.enableGranularSourceSetsMetadata=true diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/settings.gradle.kts b/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/settings.gradle.kts new file mode 100644 index 00000000000..176c45caae2 --- /dev/null +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/dependencyOnStdlibFromPlatformSourceSets/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