diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinSourceSetDataService.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinSourceSetDataService.kt index ae5acbda5de..351ce11dfdd 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinSourceSetDataService.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinSourceSetDataService.kt @@ -14,6 +14,9 @@ import com.intellij.openapi.externalSystem.service.project.manage.AbstractProjec import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project +import com.intellij.openapi.roots.DependencyScope +import com.intellij.openapi.roots.ExportableOrderEntry +import com.intellij.openapi.roots.ModifiableRootModel import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.config.CoroutineSupport import org.jetbrains.kotlin.config.JvmTarget @@ -59,9 +62,22 @@ class KotlinSourceSetDataService : AbstractProjectDataService() + .filter { it.scope == DependencyScope.COMPILE } + .forEach { it.scope = DependencyScope.TEST } + } + companion object { private val KotlinModule.kind get() = when (this) { diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt index 61399f33b06..b909f600adf 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt @@ -139,9 +139,9 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_commonTest") { platform(CommonIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) - moduleDependency("lib_commonMain", DependencyScope.COMPILE) - moduleDependency("app_commonMain", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + moduleDependency("lib_commonMain", DependencyScope.TEST) + moduleDependency("app_commonMain", DependencyScope.TEST) sourceFolder("app/src/commonTest/kotlin", KotlinSourceRootType.TestSource) sourceFolder("app/src/commonTest/resources", KotlinResourceRootType.TestResource) inheritProjectOutput() @@ -159,13 +159,13 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_jsTest") { platform(JsIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) - moduleDependency("lib_jsMain", DependencyScope.COMPILE) - moduleDependency("lib_commonMain", DependencyScope.COMPILE) - moduleDependency("app_commonMain", DependencyScope.COMPILE) - moduleDependency("app_commonTest", DependencyScope.COMPILE) - moduleDependency("app_jsMain", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + moduleDependency("lib_jsMain", DependencyScope.TEST) + moduleDependency("lib_commonMain", DependencyScope.TEST) + moduleDependency("app_commonMain", DependencyScope.TEST) + moduleDependency("app_commonTest", DependencyScope.TEST) + moduleDependency("app_jsMain", DependencyScope.TEST) sourceFolder("app/src/jsTest/kotlin", KotlinSourceRootType.TestSource) sourceFolder("app/src/jsTest/resources", KotlinResourceRootType.TestResource) outputPath("app/build/classes/kotlin/js/test", false) @@ -185,15 +185,15 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_jvmTest") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_6)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.COMPILE) - moduleDependency("lib_jvmMain", DependencyScope.COMPILE) - moduleDependency("lib_commonMain", DependencyScope.COMPILE) - moduleDependency("app_test", DependencyScope.COMPILE) - moduleDependency("app_jvmMain", DependencyScope.COMPILE) - moduleDependency("app_commonMain", DependencyScope.COMPILE) - moduleDependency("app_commonTest", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.TEST) + moduleDependency("lib_jvmMain", DependencyScope.TEST) + moduleDependency("lib_commonMain", DependencyScope.TEST) + moduleDependency("app_test", DependencyScope.TEST) + moduleDependency("app_jvmMain", DependencyScope.TEST) + moduleDependency("app_commonMain", DependencyScope.TEST) + moduleDependency("app_commonTest", DependencyScope.TEST) sourceFolder("app/src/jvmTest/kotlin", JavaSourceRootType.TEST_SOURCE) sourceFolder("app/src/jvmTest/resources", JavaResourceRootType.TEST_RESOURCE) outputPath("app/build/classes/kotlin/jvm/test", false) @@ -211,11 +211,11 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_test") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_8)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.COMPILE) - moduleDependency("lib_commonMain", DependencyScope.COMPILE) - moduleDependency("app_main", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.TEST) + moduleDependency("lib_commonMain", DependencyScope.TEST) + moduleDependency("app_main", DependencyScope.TEST) sourceFolder("app/src/test/java", JavaSourceRootType.TEST_SOURCE) sourceFolder("app/src/test/kotlin", JavaSourceRootType.TEST_SOURCE) sourceFolder("app/src/test/resources", JavaResourceRootType.TEST_RESOURCE) @@ -231,8 +231,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("lib_commonTest") { platform(CommonIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) - moduleDependency("lib_commonMain", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + moduleDependency("lib_commonMain", DependencyScope.TEST) sourceFolder("lib/src/commonTest/kotlin", KotlinSourceRootType.TestSource) sourceFolder("lib/src/commonTest/resources", KotlinResourceRootType.TestResource) inheritProjectOutput() @@ -248,11 +248,11 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("lib_jsTest") { platform(JsIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) - moduleDependency("lib_commonMain", DependencyScope.COMPILE) - moduleDependency("lib_commonTest", DependencyScope.COMPILE) - moduleDependency("lib_jsMain", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + moduleDependency("lib_commonMain", DependencyScope.TEST) + moduleDependency("lib_commonTest", DependencyScope.TEST) + moduleDependency("lib_jsMain", DependencyScope.TEST) sourceFolder("lib/src/jsTest/kotlin", KotlinSourceRootType.TestSource) sourceFolder("lib/src/jsTest/resources", KotlinResourceRootType.TestResource) outputPath("lib/build/classes/kotlin/js/test", false) @@ -269,12 +269,12 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("lib_jvmTest") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_6)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.COMPILE) - moduleDependency("lib_commonTest", DependencyScope.COMPILE) - moduleDependency("lib_commonMain", DependencyScope.COMPILE) - moduleDependency("lib_jvmMain", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.TEST) + moduleDependency("lib_commonTest", DependencyScope.TEST) + moduleDependency("lib_commonMain", DependencyScope.TEST) + moduleDependency("lib_jvmMain", DependencyScope.TEST) sourceFolder("lib/src/jvmTest/kotlin", JavaSourceRootType.TEST_SOURCE) sourceFolder("lib/src/jvmTest/resources", JavaResourceRootType.TEST_RESOURCE) outputPath("lib/build/classes/kotlin/jvm/test", false)