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) { for (sourceSetInfo in kotlinAndroidSourceSets) {
val compilation = sourceSetInfo.kotlinModule as? KotlinCompilation ?: continue val compilation = sourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
for (sourceSet in compilation.sourceSets) { 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 sourceType = if (sourceSet.isTestModule) JavaSourceRootType.TEST_SOURCE else JavaSourceRootType.SOURCE
val resourceType = if (sourceSet.isTestModule) JavaResourceRootType.TEST_RESOURCE else JavaResourceRootType.RESOURCE val resourceType = if (sourceSet.isTestModule) JavaResourceRootType.TEST_RESOURCE else JavaResourceRootType.RESOURCE
sourceSet.sourceDirs.forEach { addSourceRoot(it, sourceType, rootModel, shouldCreateEmptySourceRoots) } sourceSet.sourceDirs.forEach { addSourceRoot(it, sourceType, rootModel, shouldCreateEmptySourceRoots) }
@@ -94,7 +94,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
for (activeSourceSetInfo in activeSourceSetInfos) { for (activeSourceSetInfo in activeSourceSetInfos) {
val activeCompilation = activeSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue val activeCompilation = activeSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
for (sourceSet in activeCompilation.sourceSets) { for (sourceSet in activeCompilation.sourceSets) {
if (sourceSet.platform != KotlinPlatform.ANDROID) { if (! sourceSet.actualPlatforms.supports(KotlinPlatform.ANDROID)) {
val sourceSetId = activeSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue val sourceSetId = activeSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
val sourceSetNode = ExternalSystemApiUtil.findFirstRecursively(projectNode) { val sourceSetNode = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
(it.data as? ModuleData)?.id == sourceSetId (it.data as? ModuleData)?.id == sourceSetId
@@ -157,7 +157,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
} }
private fun List<DataNode<GradleSourceSetData>>.firstByPlatformOrNull(platform: KotlinPlatform) = firstOrNull { private fun List<DataNode<GradleSourceSetData>>.firstByPlatformOrNull(platform: KotlinPlatform) = firstOrNull {
it.kotlinSourceSet?.platform == platform it.kotlinSourceSet?.actualPlatforms?.supports(platform) ?: false
} }
private fun addExtraDependeeModules( private fun addExtraDependeeModules(
@@ -185,7 +185,7 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
) )
addIfNotNull( addIfNotNull(
relevantNodes.firstOrNull { relevantNodes.firstOrNull {
it.kotlinSourceSet?.platform == KotlinPlatform.COMMON && it.kotlinSourceSet?.kotlinModule?.name == commonSourceSetName (it.kotlinSourceSet?.actualPlatforms?.supports(KotlinPlatform.COMMON) ?: false) && it.kotlinSourceSet?.kotlinModule?.name == commonSourceSetName
} }
) )
} }