Gradle: Fix dependency import when "module per sourceset" is disabled

#KT-22360 Fixed
This commit is contained in:
Alexey Sedunov
2018-02-09 20:47:13 +03:00
parent e1aec46300
commit b315e0c113
2 changed files with 37 additions and 17 deletions
@@ -161,6 +161,10 @@ class KotlinGradleProjectResolverExtension : AbstractProjectResolverExtension()
}
}
if (!useModulePerSourceSet()) {
super.populateModuleDependencies(gradleModule, ideModule, ideProject)
}
addTransitiveDependenciesOnImplementedModules()
ideModule.isResolved = true
@@ -170,7 +174,9 @@ class KotlinGradleProjectResolverExtension : AbstractProjectResolverExtension()
ideModule.platformPluginId = gradleModel.platformPluginId
addImplementedModuleNames(ideModule, ideProject, gradleModel)
super.populateModuleDependencies(gradleModule, ideModule, ideProject)
if (useModulePerSourceSet()) {
super.populateModuleDependencies(gradleModule, ideModule, ideProject)
}
}
private fun addImplementedModuleNames(
@@ -367,29 +367,43 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
}
""")
importProject()
val isResolveModulePerSourceSet = getCurrentExternalProjectSettings().isResolveModulePerSourceSet
assertModuleModuleDepScope("project1_test", "project1_main", DependencyScope.COMPILE)
try {
currentExternalProjectSettings.isResolveModulePerSourceSet = true
importProject()
assertModuleModuleDepScope("project2_main", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project1_test", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_test", "project2_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_test", "project1_test", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_test", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_main", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_custom", "project1_custom", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_test", "project2_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_test", "project1_test", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_test", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_main", "project2_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_main", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project2_custom", "project1_custom", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project3_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project2_test", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project2_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project1_test", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_main", "project2_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_main", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_custom", "project1_custom", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_custom", "project2_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project3_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project2_test", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project2_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project1_test", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_test", "project1_main", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_custom", "project1_custom", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3_custom", "project2_main", DependencyScope.COMPILE)
currentExternalProjectSettings.isResolveModulePerSourceSet = false
importProject()
assertModuleModuleDepScope("project2", "project1", DependencyScope.COMPILE)
assertModuleModuleDepScope("project3", "project2", DependencyScope.TEST, DependencyScope.PROVIDED, DependencyScope.RUNTIME)
assertModuleModuleDepScope("project3", "project1", DependencyScope.COMPILE)
} finally {
currentExternalProjectSettings.isResolveModulePerSourceSet = isResolveModulePerSourceSet
}
}
@Test