From ff105cb059abf412c4814f25f91ac45bb2462dda Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Thu, 6 Sep 2018 17:50:16 +0300 Subject: [PATCH] MPP: Force COMMON platform for commonMain/commonTest source sets Also set isTestModule flag for them according to source set name alone #KT-26356 Fixed --- .../src/KotlinMPPGradleModel.kt | 5 +++++ .../src/KotlinMPPGradleModelBuilder.kt | 12 ++++++++++++ .../src/KotlinMPPGradleModelBuilder.kt.181 | 12 ++++++++++++ 3 files changed, 29 insertions(+) diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModel.kt b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModel.kt index 98c08f1325e..6352e3dc633 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModel.kt +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModel.kt @@ -23,6 +23,11 @@ interface KotlinSourceSet : KotlinModule { val sourceDirs: Set val resourceDirs: Set val dependsOnSourceSets: Set + + companion object { + const val COMMON_MAIN_SOURCE_SET_NAME = "commonMain" + const val COMMON_TEST_SOURCE_SET_NAME = "commonTest" + } } interface KotlinLanguageSettings : Serializable { diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt index ee325aaa9d4..4ea7c6ccc79 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt @@ -308,6 +308,18 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { } } for (sourceSet in sourceSets) { + val name = sourceSet.name + if (name == KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME) { + sourceSet.platform = KotlinPlatform.COMMON + sourceSet.isTestModule = false + continue + } + if (name == KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME) { + sourceSet.platform = KotlinPlatform.COMMON + sourceSet.isTestModule = true + continue + } + val compilations = sourceSetToCompilations[sourceSet] if (compilations != null) { sourceSet.platform = compilations.map { it.platform }.distinct().singleOrNull() ?: KotlinPlatform.COMMON diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.181 b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.181 index c2035677d8a..f35a2b73231 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.181 +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt.181 @@ -308,6 +308,18 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { } } for (sourceSet in sourceSets) { + val name = sourceSet.name + if (name == KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME) { + sourceSet.platform = KotlinPlatform.COMMON + sourceSet.isTestModule = false + continue + } + if (name == KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME) { + sourceSet.platform = KotlinPlatform.COMMON + sourceSet.isTestModule = true + continue + } + val compilations = sourceSetToCompilations[sourceSet] if (compilations != null) { sourceSet.platform = compilations.map { it.platform }.distinct().singleOrNull() ?: KotlinPlatform.COMMON