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)
|
||||
|
||||
fun isModuleConfigured(module: Module): Boolean {
|
||||
return Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME).any {
|
||||
return allConfigurators().any {
|
||||
it.getStatus(module) == ConfigureKotlinStatus.CONFIGURED
|
||||
}
|
||||
}
|
||||
@@ -113,19 +113,21 @@ fun showConfigureKotlinNotificationIfNeeded(project: Project, excludeModules: Li
|
||||
fun getAbleToRunConfigurators(project: Project): Collection<KotlinProjectConfigurator> {
|
||||
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 }
|
||||
}
|
||||
}
|
||||
|
||||
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? {
|
||||
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> {
|
||||
return project.allModules()
|
||||
.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 }
|
||||
}
|
||||
|
||||
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 ableToRunConfigurators = getAbleToRunConfigurators(project)
|
||||
val configurators = allConfigurators()
|
||||
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.getAbleToRunConfigurators
|
||||
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 javax.swing.event.HyperlinkEvent
|
||||
|
||||
@@ -60,7 +60,7 @@ class ConfigureKotlinNotification(
|
||||
|
||||
companion object {
|
||||
fun getNotificationString(project: Project, excludeModules: Collection<Module>): String {
|
||||
val modules = getNonConfiguredModules(project, excludeModules)
|
||||
val modules = getNonConfiguredModulesWithKotlinFiles(project, excludeModules)
|
||||
|
||||
val isOnlyOneModule = modules.size == 1
|
||||
|
||||
|
||||
@@ -136,8 +136,12 @@ class GradleConfiguratorTest : GradleImportingTestCase() {
|
||||
|
||||
runReadAction {
|
||||
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 }
|
||||
assertSameElements(moduleNamesWithKotlinFiles, "app")
|
||||
|
||||
Reference in New Issue
Block a user