Fix compilation of KotlinAndroidGradle MPPModuleDataService

in bunch 182
This commit is contained in:
Andrey Uskov
2019-06-13 20:31:12 +03:00
parent 18a4247226
commit 1f17ff5d38
@@ -73,7 +73,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
for (sourceSetInfo in kotlinAndroidSourceSets) {
val compilation = sourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
for (sourceSet in compilation.sourceSets) {
if (sourceSet.platform == KotlinPlatform.ANDROID) {
if (sourceSet.actualPlatforms.supports(KotlinPlatform.ANDROID)) {
val sourceType = if (sourceSet.isTestModule) JavaSourceRootType.TEST_SOURCE else JavaSourceRootType.SOURCE
val resourceType = if (sourceSet.isTestModule) JavaResourceRootType.TEST_RESOURCE else JavaResourceRootType.RESOURCE
sourceSet.sourceDirs.forEach { addSourceRoot(it, sourceType, rootModel, shouldCreateEmptySourceRoots) }
@@ -94,7 +94,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
for (activeSourceSetInfo in activeSourceSetInfos) {
val activeCompilation = activeSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
for (sourceSet in activeCompilation.sourceSets) {
if (sourceSet.platform != KotlinPlatform.ANDROID) {
if (! sourceSet.actualPlatforms.supports(KotlinPlatform.ANDROID)) {
val sourceSetId = activeSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
val sourceSetNode = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
(it.data as? ModuleData)?.id == sourceSetId
@@ -157,7 +157,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
}
private fun List<DataNode<GradleSourceSetData>>.firstByPlatformOrNull(platform: KotlinPlatform) = firstOrNull {
it.kotlinSourceSet?.platform == platform
it.kotlinSourceSet?.actualPlatforms?.supports(platform) ?: false
}
private fun addExtraDependeeModules(
@@ -185,7 +185,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
)
addIfNotNull(
relevantNodes.firstOrNull {
it.kotlinSourceSet?.platform == KotlinPlatform.COMMON && it.kotlinSourceSet?.kotlinModule?.name == commonSourceSetName
(it.kotlinSourceSet?.actualPlatforms?.supports(KotlinPlatform.COMMON) ?: false) && it.kotlinSourceSet?.kotlinModule?.name == commonSourceSetName
}
)
}