MPP: Configure Kotlin facets for Android modules
#KT-26770 Fixed
This commit is contained in:
+2
@@ -23,6 +23,7 @@ import org.jetbrains.jps.model.java.JavaSourceRootType
|
|||||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
||||||
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.KotlinSourceSetDataService
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<ModuleData, Void>() {
|
class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<ModuleData, Void>() {
|
||||||
@@ -58,6 +59,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
rootModel.addModuleOrderEntry(sourceSetModule)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, sourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
@@ -21,6 +21,7 @@ import org.jetbrains.jps.model.java.JavaSourceRootType
|
|||||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
||||||
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.KotlinSourceSetDataService
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<ModuleData, Void>() {
|
class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<ModuleData, Void>() {
|
||||||
@@ -56,6 +57,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
rootModel.addModuleOrderEntry(sourceSetModule)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, sourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
@@ -23,6 +23,7 @@ import org.jetbrains.jps.model.java.JavaSourceRootType
|
|||||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
||||||
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.KotlinSourceSetDataService
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<ModuleData, Void>() {
|
class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<ModuleData, Void>() {
|
||||||
@@ -58,6 +59,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
rootModel.addModuleOrderEntry(sourceSetModule)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, sourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
@@ -26,6 +26,7 @@ import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
|||||||
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
||||||
import org.jetbrains.kotlin.idea.configuration.kotlinSourceSet
|
import org.jetbrains.kotlin.idea.configuration.kotlinSourceSet
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.KotlinSourceSetDataService
|
||||||
import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData
|
import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@@ -71,6 +72,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
rootModel.addModuleOrderEntry(sourceSetModule)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, sourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
}
|
}
|
||||||
|
|
||||||
ContentRootDataService().importData(contentRootsToImport, projectData, project, modelsProvider)
|
ContentRootDataService().importData(contentRootsToImport, projectData, project, modelsProvider)
|
||||||
|
|||||||
+2
@@ -23,6 +23,7 @@ import org.jetbrains.jps.model.java.JavaSourceRootType
|
|||||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
||||||
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
import org.jetbrains.kotlin.gradle.KotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
import org.jetbrains.kotlin.gradle.KotlinPlatform
|
||||||
|
import org.jetbrains.kotlin.idea.configuration.KotlinSourceSetDataService
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<ModuleData, Void>() {
|
class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<ModuleData, Void>() {
|
||||||
@@ -58,6 +59,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
rootModel.addModuleOrderEntry(sourceSetModule)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, sourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-3
@@ -62,6 +62,7 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
private val KotlinModule.kind
|
private val KotlinModule.kind
|
||||||
get() = when (this) {
|
get() = when (this) {
|
||||||
is KotlinCompilation -> KotlinModuleKind.COMPILATION_AND_SOURCE_SET_HOLDER
|
is KotlinCompilation -> KotlinModuleKind.COMPILATION_AND_SOURCE_SET_HOLDER
|
||||||
@@ -69,8 +70,8 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
|
|||||||
else -> KotlinModuleKind.DEFAULT
|
else -> KotlinModuleKind.DEFAULT
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun configureFacet(
|
fun configureFacet(
|
||||||
sourceSetData: GradleSourceSetData,
|
moduleData: ModuleData,
|
||||||
kotlinSourceSet: KotlinSourceSetInfo,
|
kotlinSourceSet: KotlinSourceSetInfo,
|
||||||
mainModuleNode: DataNode<ModuleData>,
|
mainModuleNode: DataNode<ModuleData>,
|
||||||
ideModule: Module,
|
ideModule: Module,
|
||||||
@@ -85,7 +86,7 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
|
|||||||
val platformKind = IdePlatformKindTooling.getTooling(kotlinSourceSet.platform).kind
|
val platformKind = IdePlatformKindTooling.getTooling(kotlinSourceSet.platform).kind
|
||||||
val platform = when (platformKind) {
|
val platform = when (platformKind) {
|
||||||
is JvmIdePlatformKind -> {
|
is JvmIdePlatformKind -> {
|
||||||
val target = JvmTarget.fromString(sourceSetData.targetCompatibility ?: "") ?: JvmTarget.DEFAULT
|
val target = JvmTarget.fromString(moduleData.targetCompatibility ?: "") ?: JvmTarget.DEFAULT
|
||||||
JvmIdePlatformKind.Platform(target)
|
JvmIdePlatformKind.Platform(target)
|
||||||
}
|
}
|
||||||
else -> platformKind.defaultPlatform
|
else -> platformKind.defaultPlatform
|
||||||
@@ -134,3 +135,4 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user