Add list of modules available via dependsOn in FacetSettings

This commit is contained in:
Andrey Uskov
2019-08-22 19:08:51 +03:00
parent 4642127c28
commit 106452b5f0
13 changed files with 68 additions and 37 deletions
@@ -292,9 +292,7 @@ fun configureFacetByGradleModule(
compilerVersion,
coroutinesProperty,
platform,
modelsProvider,
moduleNode.isHmpp,
moduleNode.pureKotlinSourceFolders
modelsProvider
)
if (sourceSetNode == null) {
@@ -43,6 +43,7 @@ class KotlinSourceSetInfo(val kotlinModule: KotlinModule) : Serializable {
var dependencyClasspath: List<String> = emptyList()
var isTestModule: Boolean = false
var sourceSetIdsByName: MutableMap<String, String> = LinkedHashMap()
var dependsOn: List<String> = emptyList()
}
class KotlinAndroidSourceSetData(
@@ -44,6 +44,7 @@ class KotlinSourceSetInfo @PropertyMapping("kotlinModule") constructor(val kotli
var dependencyClasspath: List<String> = emptyList()
var isTestModule: Boolean = false
var sourceSetIdsByName: MutableMap<String, String> = LinkedHashMap()
var dependsOn: List<String> = emptyList()
}
class KotlinAndroidSourceSetData @PropertyMapping("sourceSetInfos") constructor(val sourceSetInfos: List<KotlinSourceSetInfo>
@@ -724,6 +724,7 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtension() {
info.gradleModuleId = getModuleId(resolverCtx, gradleModule)
info.actualPlatforms.addSimplePlatforms(sourceSet.actualPlatforms.platforms)
info.isTestModule = sourceSet.isTestModule
info.dependsOn = sourceSet.dependsOnSourceSets.toList()
//TODO(auskov): target flours are lost here
info.compilerArguments = createCompilerArguments(emptyList(), sourceSet.actualPlatforms.getSinglePlatform()).also {
it.multiPlatform = true
@@ -754,6 +755,7 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtension() {
sourceSetInfo.gradleModuleId = getModuleId(resolverCtx, gradleModule)
sourceSetInfo.actualPlatforms.addSimplePlatforms(listOf(compilation.platform))
sourceSetInfo.isTestModule = compilation.isTestModule
sourceSetInfo.dependsOn = compilation.sourceSets.flatMap { it.dependsOnSourceSets }.distinct().toList()
sourceSetInfo.compilerArguments =
createCompilerArguments(compilation.arguments.currentArguments.toList(), compilation.platform).also {
it.multiPlatform = true
@@ -127,7 +127,8 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
platform,
modelsProvider,
mainModuleNode.isHmpp,
mainModuleNode.pureKotlinSourceFolders
mainModuleNode.pureKotlinSourceFolders,
kotlinSourceSet.dependsOn
)
val compilerArguments = kotlinSourceSet.compilerArguments