MPP: Add dependencies for all source sets for a given Android variant
This commit is contained in:
+20
-11
@@ -20,6 +20,7 @@ import com.intellij.openapi.externalSystem.service.project.manage.ContentRootDat
|
|||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.openapi.roots.DependencyScope
|
||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
import com.intellij.openapi.vfs.VfsUtil
|
import com.intellij.openapi.vfs.VfsUtil
|
||||||
import com.intellij.util.containers.stream
|
import com.intellij.util.containers.stream
|
||||||
@@ -77,19 +78,27 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
}
|
}
|
||||||
val androidModel = AndroidModuleModel.get(module) ?: continue
|
val androidModel = AndroidModuleModel.get(module) ?: continue
|
||||||
val variantName = androidModel.selectedVariant.name
|
val variantName = androidModel.selectedVariant.name
|
||||||
val mainSourceSetInfo = nodeToImport.kotlinAndroidSourceSets?.firstOrNull { it.kotlinModule.name == variantName } ?: continue
|
val activeSourceSetInfos = nodeToImport.kotlinAndroidSourceSets?.filter { it.kotlinModule.name.startsWith(variantName) } ?: emptyList()
|
||||||
val mainCompilation = mainSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
for (activeSourceSetInfo in activeSourceSetInfos) {
|
||||||
for (sourceSet in mainCompilation.sourceSets) {
|
val activeCompilation = activeSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
||||||
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
for (sourceSet in activeCompilation.sourceSets) {
|
||||||
val sourceSetId = mainSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
||||||
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
val sourceSetId = activeSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
||||||
(it.data as? ModuleData)?.id == sourceSetId
|
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
||||||
}?.data as? ModuleData ?: continue
|
(it.data as? ModuleData)?.id == sourceSetId
|
||||||
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
}?.data as? ModuleData ?: continue
|
||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
||||||
|
val existingEntry = rootModel.findModuleOrderEntry(sourceSetModule)
|
||||||
|
val dependencyScope = if (activeSourceSetInfo.isTestModule) DependencyScope.TEST else DependencyScope.COMPILE
|
||||||
|
if (existingEntry != null && existingEntry.scope == dependencyScope) continue
|
||||||
|
rootModel.addModuleOrderEntry(sourceSetModule).also { it.scope = dependencyScope }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
val mainSourceSetInfo = activeSourceSetInfos.firstOrNull { it.kotlinModule.name == variantName }
|
||||||
|
if (mainSourceSetInfo != null) {
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
|
}
|
||||||
|
|
||||||
val kotlinFacet = KotlinFacet.get(module)
|
val kotlinFacet = KotlinFacet.get(module)
|
||||||
if (kotlinFacet != null) {
|
if (kotlinFacet != null) {
|
||||||
|
|||||||
+20
-11
@@ -19,6 +19,7 @@ import com.intellij.openapi.externalSystem.service.project.manage.ContentRootDat
|
|||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.openapi.roots.DependencyScope
|
||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
import com.intellij.openapi.vfs.VfsUtil
|
import com.intellij.openapi.vfs.VfsUtil
|
||||||
import com.intellij.util.containers.stream
|
import com.intellij.util.containers.stream
|
||||||
@@ -76,19 +77,27 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
}
|
}
|
||||||
val androidModel = AndroidModuleModel.get(module) ?: continue
|
val androidModel = AndroidModuleModel.get(module) ?: continue
|
||||||
val variantName = androidModel.selectedVariant.name
|
val variantName = androidModel.selectedVariant.name
|
||||||
val mainSourceSetInfo = nodeToImport.kotlinAndroidSourceSets?.firstOrNull { it.kotlinModule.name == variantName } ?: continue
|
val activeSourceSetInfos = nodeToImport.kotlinAndroidSourceSets?.filter { it.kotlinModule.name.startsWith(variantName) } ?: emptyList()
|
||||||
val mainCompilation = mainSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
for (activeSourceSetInfo in activeSourceSetInfos) {
|
||||||
for (sourceSet in mainCompilation.sourceSets) {
|
val activeCompilation = activeSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
||||||
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
for (sourceSet in activeCompilation.sourceSets) {
|
||||||
val sourceSetId = mainSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
||||||
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
val sourceSetId = activeSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
||||||
(it.data as? ModuleData)?.id == sourceSetId
|
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
||||||
}?.data as? ModuleData ?: continue
|
(it.data as? ModuleData)?.id == sourceSetId
|
||||||
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
}?.data as? ModuleData ?: continue
|
||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
||||||
|
val existingEntry = rootModel.findModuleOrderEntry(sourceSetModule)
|
||||||
|
val dependencyScope = if (activeSourceSetInfo.isTestModule) DependencyScope.TEST else DependencyScope.COMPILE
|
||||||
|
if (existingEntry != null && existingEntry.scope == dependencyScope) continue
|
||||||
|
rootModel.addModuleOrderEntry(sourceSetModule).also { it.scope = dependencyScope }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
val mainSourceSetInfo = activeSourceSetInfos.firstOrNull { it.kotlinModule.name == variantName }
|
||||||
|
if (mainSourceSetInfo != null) {
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
|
}
|
||||||
|
|
||||||
val kotlinFacet = KotlinFacet.get(module)
|
val kotlinFacet = KotlinFacet.get(module)
|
||||||
if (kotlinFacet != null) {
|
if (kotlinFacet != null) {
|
||||||
|
|||||||
+20
-11
@@ -20,6 +20,7 @@ import com.intellij.openapi.externalSystem.service.project.manage.ContentRootDat
|
|||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.openapi.roots.DependencyScope
|
||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
import com.intellij.openapi.vfs.VfsUtil
|
import com.intellij.openapi.vfs.VfsUtil
|
||||||
import com.intellij.util.containers.stream
|
import com.intellij.util.containers.stream
|
||||||
@@ -77,19 +78,27 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
}
|
}
|
||||||
val androidModel = AndroidModuleModel.get(module) ?: continue
|
val androidModel = AndroidModuleModel.get(module) ?: continue
|
||||||
val variantName = androidModel.selectedVariant.name
|
val variantName = androidModel.selectedVariant.name
|
||||||
val mainSourceSetInfo = nodeToImport.kotlinAndroidSourceSets?.firstOrNull { it.kotlinModule.name == variantName } ?: continue
|
val activeSourceSetInfos = nodeToImport.kotlinAndroidSourceSets?.filter { it.kotlinModule.name.startsWith(variantName) } ?: emptyList()
|
||||||
val mainCompilation = mainSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
for (activeSourceSetInfo in activeSourceSetInfos) {
|
||||||
for (sourceSet in mainCompilation.sourceSets) {
|
val activeCompilation = activeSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
||||||
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
for (sourceSet in activeCompilation.sourceSets) {
|
||||||
val sourceSetId = mainSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
||||||
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
val sourceSetId = activeSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
||||||
(it.data as? ModuleData)?.id == sourceSetId
|
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
||||||
}?.data as? ModuleData ?: continue
|
(it.data as? ModuleData)?.id == sourceSetId
|
||||||
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
}?.data as? ModuleData ?: continue
|
||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
||||||
|
val existingEntry = rootModel.findModuleOrderEntry(sourceSetModule)
|
||||||
|
val dependencyScope = if (activeSourceSetInfo.isTestModule) DependencyScope.TEST else DependencyScope.COMPILE
|
||||||
|
if (existingEntry != null && existingEntry.scope == dependencyScope) continue
|
||||||
|
rootModel.addModuleOrderEntry(sourceSetModule).also { it.scope = dependencyScope }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
val mainSourceSetInfo = activeSourceSetInfos.firstOrNull { it.kotlinModule.name == variantName }
|
||||||
|
if (mainSourceSetInfo != null) {
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
|
}
|
||||||
|
|
||||||
val kotlinFacet = KotlinFacet.get(module)
|
val kotlinFacet = KotlinFacet.get(module)
|
||||||
if (kotlinFacet != null) {
|
if (kotlinFacet != null) {
|
||||||
|
|||||||
+20
-11
@@ -22,6 +22,7 @@ import com.intellij.openapi.externalSystem.service.project.manage.ContentRootDat
|
|||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.openapi.roots.DependencyScope
|
||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
import com.intellij.openapi.vfs.VfsUtil
|
import com.intellij.openapi.vfs.VfsUtil
|
||||||
import com.intellij.util.containers.stream
|
import com.intellij.util.containers.stream
|
||||||
@@ -90,19 +91,27 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
}
|
}
|
||||||
val androidModel = AndroidModuleModel.get(module) ?: continue
|
val androidModel = AndroidModuleModel.get(module) ?: continue
|
||||||
val variantName = androidModel.selectedVariant.name
|
val variantName = androidModel.selectedVariant.name
|
||||||
val mainSourceSetInfo = nodeToImport.kotlinAndroidSourceSets?.firstOrNull { it.kotlinModule.name == variantName } ?: continue
|
val activeSourceSetInfos = nodeToImport.kotlinAndroidSourceSets?.filter { it.kotlinModule.name.startsWith(variantName) } ?: emptyList()
|
||||||
val mainCompilation = mainSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
for (activeSourceSetInfo in activeSourceSetInfos) {
|
||||||
for (sourceSet in mainCompilation.sourceSets) {
|
val activeCompilation = activeSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
||||||
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
for (sourceSet in activeCompilation.sourceSets) {
|
||||||
val sourceSetId = mainSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
||||||
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
val sourceSetId = activeSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
||||||
(it.data as? ModuleData)?.id == sourceSetId
|
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
||||||
}?.data as? ModuleData ?: continue
|
(it.data as? ModuleData)?.id == sourceSetId
|
||||||
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
}?.data as? ModuleData ?: continue
|
||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
||||||
|
val existingEntry = rootModel.findModuleOrderEntry(sourceSetModule)
|
||||||
|
val dependencyScope = if (activeSourceSetInfo.isTestModule) DependencyScope.TEST else DependencyScope.COMPILE
|
||||||
|
if (existingEntry != null && existingEntry.scope == dependencyScope) continue
|
||||||
|
rootModel.addModuleOrderEntry(sourceSetModule).also { it.scope = dependencyScope }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
val mainSourceSetInfo = activeSourceSetInfos.firstOrNull { it.kotlinModule.name == variantName }
|
||||||
|
if (mainSourceSetInfo != null) {
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
|
}
|
||||||
|
|
||||||
val kotlinFacet = KotlinFacet.get(module)
|
val kotlinFacet = KotlinFacet.get(module)
|
||||||
if (kotlinFacet != null) {
|
if (kotlinFacet != null) {
|
||||||
|
|||||||
+20
-11
@@ -20,6 +20,7 @@ import com.intellij.openapi.externalSystem.service.project.manage.ContentRootDat
|
|||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import com.intellij.openapi.roots.DependencyScope
|
||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
import com.intellij.openapi.vfs.VfsUtil
|
import com.intellij.openapi.vfs.VfsUtil
|
||||||
import com.intellij.util.containers.stream
|
import com.intellij.util.containers.stream
|
||||||
@@ -77,19 +78,27 @@ class KotlinAndroidGradleMPPModuleDataService : AbstractProjectDataService<Modul
|
|||||||
}
|
}
|
||||||
val androidModel = AndroidModuleModel.get(module) ?: continue
|
val androidModel = AndroidModuleModel.get(module) ?: continue
|
||||||
val variantName = androidModel.selectedVariant.name
|
val variantName = androidModel.selectedVariant.name
|
||||||
val mainSourceSetInfo = nodeToImport.kotlinAndroidSourceSets?.firstOrNull { it.kotlinModule.name == variantName } ?: continue
|
val activeSourceSetInfos = nodeToImport.kotlinAndroidSourceSets?.filter { it.kotlinModule.name.startsWith(variantName) } ?: emptyList()
|
||||||
val mainCompilation = mainSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
for (activeSourceSetInfo in activeSourceSetInfos) {
|
||||||
for (sourceSet in mainCompilation.sourceSets) {
|
val activeCompilation = activeSourceSetInfo.kotlinModule as? KotlinCompilation ?: continue
|
||||||
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
for (sourceSet in activeCompilation.sourceSets) {
|
||||||
val sourceSetId = mainSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
if (sourceSet.platform != KotlinPlatform.ANDROID) {
|
||||||
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
val sourceSetId = activeSourceSetInfo.sourceSetIdsByName[sourceSet.name] ?: continue
|
||||||
(it.data as? ModuleData)?.id == sourceSetId
|
val sourceSetData = ExternalSystemApiUtil.findFirstRecursively(projectNode) {
|
||||||
}?.data as? ModuleData ?: continue
|
(it.data as? ModuleData)?.id == sourceSetId
|
||||||
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
}?.data as? ModuleData ?: continue
|
||||||
rootModel.addModuleOrderEntry(sourceSetModule)
|
val sourceSetModule = modelsProvider.findIdeModule(sourceSetData) ?: continue
|
||||||
|
val existingEntry = rootModel.findModuleOrderEntry(sourceSetModule)
|
||||||
|
val dependencyScope = if (activeSourceSetInfo.isTestModule) DependencyScope.TEST else DependencyScope.COMPILE
|
||||||
|
if (existingEntry != null && existingEntry.scope == dependencyScope) continue
|
||||||
|
rootModel.addModuleOrderEntry(sourceSetModule).also { it.scope = dependencyScope }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
val mainSourceSetInfo = activeSourceSetInfos.firstOrNull { it.kotlinModule.name == variantName }
|
||||||
|
if (mainSourceSetInfo != null) {
|
||||||
|
KotlinSourceSetDataService.configureFacet(moduleData, mainSourceSetInfo, nodeToImport, module, modelsProvider)
|
||||||
|
}
|
||||||
|
|
||||||
val kotlinFacet = KotlinFacet.get(module)
|
val kotlinFacet = KotlinFacet.get(module)
|
||||||
if (kotlinFacet != null) {
|
if (kotlinFacet != null) {
|
||||||
|
|||||||
+22
-7
@@ -365,6 +365,19 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtension() {
|
|||||||
val targetSourceSet = mppModel.sourceSets[targetSourceSetName] ?: continue
|
val targetSourceSet = mppModel.sourceSets[targetSourceSetName] ?: continue
|
||||||
sourceSetGraph.putEdge(sourceSet, targetSourceSet)
|
sourceSetGraph.putEdge(sourceSet, targetSourceSet)
|
||||||
}
|
}
|
||||||
|
// Workaround: Non-android source sets have commonMain/commonTest in their dependsOn
|
||||||
|
// Remove when the same is implemented for Android modules as well
|
||||||
|
if (sourceSet.platform == KotlinPlatform.ANDROID) {
|
||||||
|
val commonSourceSetName = if (sourceSet.isTestModule) {
|
||||||
|
KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME
|
||||||
|
} else {
|
||||||
|
KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME
|
||||||
|
}
|
||||||
|
val commonSourceSet = mppModel.sourceSets[commonSourceSetName]
|
||||||
|
if (commonSourceSet != null && commonSourceSet != sourceSet) {
|
||||||
|
sourceSetGraph.putEdge(sourceSet, commonSourceSet)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
val closedSourceSetGraph = Graphs.transitiveClosure(sourceSetGraph)
|
val closedSourceSetGraph = Graphs.transitiveClosure(sourceSetGraph)
|
||||||
for (sourceSet in closedSourceSetGraph.nodes()) {
|
for (sourceSet in closedSourceSetGraph.nodes()) {
|
||||||
@@ -375,16 +388,18 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtension() {
|
|||||||
getSiblingKotlinModuleData(sourceSet, gradleModule, ideModule, resolverCtx)
|
getSiblingKotlinModuleData(sourceSet, gradleModule, ideModule, resolverCtx)
|
||||||
} ?: continue
|
} ?: continue
|
||||||
val dependeeSourceSets = closedSourceSetGraph.successors(sourceSet)
|
val dependeeSourceSets = closedSourceSetGraph.successors(sourceSet)
|
||||||
val sourceSetInfo = if (isAndroid) {
|
val sourceSetInfos = if (isAndroid) {
|
||||||
ideModule.kotlinAndroidSourceSets?.firstOrNull {
|
ideModule.kotlinAndroidSourceSets?.filter {
|
||||||
(it.kotlinModule as? KotlinCompilation)?.sourceSets?.contains(sourceSet) ?: false
|
(it.kotlinModule as? KotlinCompilation)?.sourceSets?.contains(sourceSet) ?: false
|
||||||
}
|
} ?: emptyList()
|
||||||
} else {
|
} else {
|
||||||
fromDataNode.kotlinSourceSet
|
listOfNotNull(fromDataNode.kotlinSourceSet)
|
||||||
}
|
}
|
||||||
if (sourceSetInfo != null && sourceSetInfo.kotlinModule is KotlinCompilation) {
|
for (sourceSetInfo in sourceSetInfos) {
|
||||||
val selfName = sourceSetInfo.kotlinModule.fullName()
|
if (sourceSetInfo.kotlinModule is KotlinCompilation) {
|
||||||
sourceSetInfo.addSourceSets(dependeeSourceSets, selfName, gradleModule, resolverCtx)
|
val selfName = sourceSetInfo.kotlinModule.fullName()
|
||||||
|
sourceSetInfo.addSourceSets(dependeeSourceSets, selfName, gradleModule, resolverCtx)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (sourceSet.platform == KotlinPlatform.ANDROID) continue
|
if (sourceSet.platform == KotlinPlatform.ANDROID) continue
|
||||||
for (dependeeSourceSet in dependeeSourceSets) {
|
for (dependeeSourceSet in dependeeSourceSets) {
|
||||||
|
|||||||
Reference in New Issue
Block a user