From e1f9a37e9b39ebfd1e15bee4d3f2f128e35105fa Mon Sep 17 00:00:00 2001 From: Stanislau Palyn Date: Wed, 17 Sep 2025 10:16:36 +0200 Subject: [PATCH] [vcs] Improve UnloadedModulesCompilationCheckinHandler logic to determine whether it should be performed GitOrigin-RevId: 5befac9a15ef4b1478d38400662222d6e3218ea0 --- .../vcs/UnloadedModulesCompilationCheckinHandler.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/vcs/UnloadedModulesCompilationCheckinHandler.kt b/java/compiler/impl/src/com/intellij/compiler/impl/vcs/UnloadedModulesCompilationCheckinHandler.kt index 83b244a976f9..da230ab648e9 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/vcs/UnloadedModulesCompilationCheckinHandler.kt +++ b/java/compiler/impl/src/com/intellij/compiler/impl/vcs/UnloadedModulesCompilationCheckinHandler.kt @@ -25,12 +25,14 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.util.concurrent.CompletableFuture -private class UnloadedModulesCompilationCheckinHandler(private val project: Project, - private val checkinPanel: CheckinProjectPanel) : CheckinHandler(), CommitCheck { +private class UnloadedModulesCompilationCheckinHandler( + private val project: Project, + private val checkinPanel: CheckinProjectPanel, +) : CheckinHandler(), CommitCheck { override fun getBeforeCheckinConfigurationPanel(): RefreshableOnComponent? { return if (ModuleManager.getInstance(project).unloadedModuleDescriptions.isNotEmpty()) - create(checkinPanel.getProject(), this, false, + create(checkinPanel.getProject(), this, disableWhenDumb = true, JavaCompilerBundle.message("checkbox.text.compile.affected.unloaded.modules"), { settings.COMPILE_AFFECTED_UNLOADED_MODULES_BEFORE_COMMIT }, { value: Boolean -> settings.COMPILE_AFFECTED_UNLOADED_MODULES_BEFORE_COMMIT = value } @@ -85,7 +87,8 @@ private class UnloadedModulesCompilationCheckinHandler(private val project: Proj override fun getExecutionOrder(): CommitCheck.ExecutionOrder = CommitCheck.ExecutionOrder.LATE - override fun isEnabled(): Boolean = settings.COMPILE_AFFECTED_UNLOADED_MODULES_BEFORE_COMMIT + override fun isEnabled(): Boolean = settings.COMPILE_AFFECTED_UNLOADED_MODULES_BEFORE_COMMIT && + ModuleManager.getInstance(project).unloadedModuleDescriptions.isNotEmpty() private val settings: CompilerWorkspaceConfiguration get() = CompilerWorkspaceConfiguration.getInstance(project)