Refactor getNonConfiguredModules(Project)
Rename to getNonConfiguredModulesWithKotlinFiles() to match what it actually does, remove duplicate configurator status check, extract code for collecting all configurators
This commit is contained in:
@@ -59,7 +59,7 @@ val EAP_11_REPOSITORY = RepositoryDescription(
|
|||||||
isSnapshot = false)
|
isSnapshot = false)
|
||||||
|
|
||||||
fun isModuleConfigured(module: Module): Boolean {
|
fun isModuleConfigured(module: Module): Boolean {
|
||||||
return Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME).any {
|
return allConfigurators().any {
|
||||||
it.getStatus(module) == ConfigureKotlinStatus.CONFIGURED
|
it.getStatus(module) == ConfigureKotlinStatus.CONFIGURED
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -113,19 +113,21 @@ fun showConfigureKotlinNotificationIfNeeded(project: Project, excludeModules: Li
|
|||||||
fun getAbleToRunConfigurators(project: Project): Collection<KotlinProjectConfigurator> {
|
fun getAbleToRunConfigurators(project: Project): Collection<KotlinProjectConfigurator> {
|
||||||
val modules = getConfigurableModulesWithKotlinFiles(project).ifEmpty { project.allModules() }
|
val modules = getConfigurableModulesWithKotlinFiles(project).ifEmpty { project.allModules() }
|
||||||
|
|
||||||
return Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME).filter { configurator ->
|
return allConfigurators().filter { configurator ->
|
||||||
modules.any { module -> configurator.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
modules.any { module -> configurator.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getAbleToRunConfigurators(module: Module): Collection<KotlinProjectConfigurator> {
|
fun getAbleToRunConfigurators(module: Module): Collection<KotlinProjectConfigurator> {
|
||||||
return Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME).filter { it.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
return allConfigurators().filter { it.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getConfiguratorByName(name: String): KotlinProjectConfigurator? {
|
fun getConfiguratorByName(name: String): KotlinProjectConfigurator? {
|
||||||
return Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME).firstOrNull { it.name == name }
|
return allConfigurators().firstOrNull { it.name == name }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun allConfigurators() = Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME)
|
||||||
|
|
||||||
fun getNonConfiguredModules(project: Project, configurator: KotlinProjectConfigurator): List<Module> {
|
fun getNonConfiguredModules(project: Project, configurator: KotlinProjectConfigurator): List<Module> {
|
||||||
return project.allModules()
|
return project.allModules()
|
||||||
.filter { module -> configurator.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
.filter { module -> configurator.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
||||||
@@ -167,11 +169,11 @@ fun getNonConfiguredModulesWithKotlinFiles(project: Project, configurator: Kotli
|
|||||||
return modules.filter { module -> configurator.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
return modules.filter { module -> configurator.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getNonConfiguredModules(project: Project, excludeModules: Collection<Module> = emptyList()): Collection<Module> {
|
fun getNonConfiguredModulesWithKotlinFiles(project: Project, excludeModules: Collection<Module> = emptyList()): Collection<Module> {
|
||||||
val modulesWithKotlinFiles = getConfigurableModulesWithKotlinFiles(project) - excludeModules
|
val modulesWithKotlinFiles = getConfigurableModulesWithKotlinFiles(project) - excludeModules
|
||||||
val ableToRunConfigurators = getAbleToRunConfigurators(project)
|
val configurators = allConfigurators()
|
||||||
return modulesWithKotlinFiles.filter { module ->
|
return modulesWithKotlinFiles.filter { module ->
|
||||||
ableToRunConfigurators.any { it.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
configurators.any { it.getStatus(module) == ConfigureKotlinStatus.CAN_BE_CONFIGURED }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator
|
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator
|
||||||
import org.jetbrains.kotlin.idea.configuration.getAbleToRunConfigurators
|
import org.jetbrains.kotlin.idea.configuration.getAbleToRunConfigurators
|
||||||
import org.jetbrains.kotlin.idea.configuration.getConfiguratorByName
|
import org.jetbrains.kotlin.idea.configuration.getConfiguratorByName
|
||||||
import org.jetbrains.kotlin.idea.configuration.getNonConfiguredModules
|
import org.jetbrains.kotlin.idea.configuration.getNonConfiguredModulesWithKotlinFiles
|
||||||
import org.jetbrains.kotlin.idea.configuration.ui.KotlinConfigurationCheckerComponent
|
import org.jetbrains.kotlin.idea.configuration.ui.KotlinConfigurationCheckerComponent
|
||||||
import javax.swing.event.HyperlinkEvent
|
import javax.swing.event.HyperlinkEvent
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ class ConfigureKotlinNotification(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun getNotificationString(project: Project, excludeModules: Collection<Module>): String {
|
fun getNotificationString(project: Project, excludeModules: Collection<Module>): String {
|
||||||
val modules = getNonConfiguredModules(project, excludeModules)
|
val modules = getNonConfiguredModulesWithKotlinFiles(project, excludeModules)
|
||||||
|
|
||||||
val isOnlyOneModule = modules.size == 1
|
val isOnlyOneModule = modules.size == 1
|
||||||
|
|
||||||
|
|||||||
@@ -136,8 +136,12 @@ class GradleConfiguratorTest : GradleImportingTestCase() {
|
|||||||
|
|
||||||
runReadAction {
|
runReadAction {
|
||||||
val configurator = findGradleModuleConfigurator()
|
val configurator = findGradleModuleConfigurator()
|
||||||
val moduleNames = getNonConfiguredModules(myProject, configurator).map { it.name }
|
|
||||||
assertSameElements(moduleNames, "app", "project")
|
val moduleNames = getNonConfiguredModulesWithKotlinFiles(myProject).map { it.name }
|
||||||
|
assertSameElements(moduleNames, "app")
|
||||||
|
|
||||||
|
val moduleNamesFromConfigurator = getNonConfiguredModules(myProject, configurator).map { it.name }
|
||||||
|
assertSameElements(moduleNamesFromConfigurator, "app", "project")
|
||||||
|
|
||||||
val moduleNamesWithKotlinFiles = getNonConfiguredModulesWithKotlinFiles(myProject, configurator).map { it.name }
|
val moduleNamesWithKotlinFiles = getNonConfiguredModulesWithKotlinFiles(myProject, configurator).map { it.name }
|
||||||
assertSameElements(moduleNamesWithKotlinFiles, "app")
|
assertSameElements(moduleNamesWithKotlinFiles, "app")
|
||||||
|
|||||||
Reference in New Issue
Block a user