getNonConfiguredModules(project, configurator) excludes modules already configured with other configurators
#KT-16381 Fixed
This commit is contained in:
@@ -130,10 +130,14 @@ fun allConfigurators() = Extensions.getExtensions(KotlinProjectConfigurator.EP_N
|
||||
|
||||
fun getNonConfiguredModules(project: Project, configurator: KotlinProjectConfigurator): List<Module> {
|
||||
return project.allModules()
|
||||
.filter { module -> configurator.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
||||
.filter { module -> configurator.canConfigure(module) }
|
||||
.excludeSourceRootModules()
|
||||
}
|
||||
|
||||
private fun KotlinProjectConfigurator.canConfigure(module: Module) =
|
||||
getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED &&
|
||||
(allConfigurators().toList() - this).none { it.getStatus(module) == ConfigureKotlinStatus.CONFIGURED }
|
||||
|
||||
fun Collection<Module>.excludeSourceRootModules(): List<Module> {
|
||||
val pathMap = buildExternalPathMap()
|
||||
return filter { it.externalProjectId == null || it.externalProjectPath == null } + pathMap.values
|
||||
|
||||
@@ -98,10 +98,12 @@ public class ConfigureKotlinTest extends AbstractConfigureKotlinTest {
|
||||
|
||||
public void testTwoModulesWithNonDefaultPath_doNotCopyInDefault() throws IOException {
|
||||
doTestConfigureModulesWithNonDefaultSetup(JAVA_CONFIGURATOR);
|
||||
assertEmpty(ConfigureKotlinInProjectUtilsKt.getNonConfiguredModules(myProject, JS_CONFIGURATOR));
|
||||
}
|
||||
|
||||
public void testTwoModulesWithJSNonDefaultPath_doNotCopyInDefault() throws IOException {
|
||||
doTestConfigureModulesWithNonDefaultSetup(JS_CONFIGURATOR);
|
||||
assertEmpty(ConfigureKotlinInProjectUtilsKt.getNonConfiguredModules(myProject, JAVA_CONFIGURATOR));
|
||||
}
|
||||
|
||||
public void testNewLibrary_jarExists_js() {
|
||||
|
||||
Reference in New Issue
Block a user