Gradle: Do not resolve sourcesets in projects with Android module

This commit is contained in:
Alexey Sedunov
2018-03-13 17:14:08 +03:00
parent e1c29ad3fd
commit b7d79cc146
2 changed files with 17 additions and 4 deletions
@@ -194,7 +194,7 @@ class KotlinGradleProjectResolverExtension : AbstractProjectResolverExtension()
gradleModel: KotlinGradleModel
) {
val implementedModules = gradleModel.implements.mapNotNull { findModuleById(ideProject, it) }
if (resolverCtx.isResolveModulePerSourceSet) {
if (useModulePerSourceSet()) {
val dependentSourceSets = dependentModule.getSourceSetsMap()
val implementedSourceSetMaps = implementedModules.map { it.getSourceSetsMap() }
for ((sourceSetName, dependentSourceSet) in dependentSourceSets) {
@@ -20,6 +20,7 @@ import com.intellij.openapi.roots.DependencyScope
import com.intellij.util.PathUtil
import junit.framework.TestCase
import org.jetbrains.kotlin.idea.codeInsight.gradle.GradleImportingTestCase
import org.jetbrains.kotlin.idea.codeInsight.gradle.facetSettings
import org.jetbrains.kotlin.idea.facet.KotlinFacet
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.junit.Test
@@ -577,12 +578,24 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
"""
)
val isResolveModulePerSourceSet = getCurrentExternalProjectSettings().isResolveModulePerSourceSet
try {
currentExternalProjectSettings.isResolveModulePerSourceSet = true
importProject()
importProject()
assertModuleModuleDepScope("project3", "project2", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
TestCase.assertEquals(listOf("project1"), facetSettings("project2").implementedModuleNames)
assertModuleModuleDepScope("project3", "project2", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
currentExternalProjectSettings.isResolveModulePerSourceSet = false
importProject()
assertModuleModuleDepScope("project3", "project2", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
TestCase.assertEquals(listOf("project1"), facetSettings("project2").implementedModuleNames)
} finally {
currentExternalProjectSettings.isResolveModulePerSourceSet = isResolveModulePerSourceSet
}
}
@Test