mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[maven] show actions related to executor groups in build/run configuration menu
This also contributes to IDEA-251443. GitOrigin-RevId: a5ce1d09159ae52c503ce71f34953a3483fcdda9
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ab9bc83018
commit
0eaaf6a084
+7
-3
@@ -2,14 +2,13 @@
|
||||
package org.jetbrains.idea.maven.navigator.actions
|
||||
|
||||
import com.intellij.execution.Executor
|
||||
import com.intellij.execution.actions.RunContextAction
|
||||
import com.intellij.openapi.actionSystem.*
|
||||
import com.intellij.openapi.project.DumbAware
|
||||
import org.jetbrains.idea.maven.project.actions.RunBuildAction
|
||||
import org.jetbrains.idea.maven.statistics.MavenActionsUsagesCollector
|
||||
|
||||
class MavenBuildMenu : DefaultActionGroup(), DumbAware {
|
||||
|
||||
private val actionManager = ActionManager.getInstance()
|
||||
override fun update(e: AnActionEvent) {
|
||||
val project = AnAction.getEventProject(e) ?: return
|
||||
|
||||
@@ -20,7 +19,12 @@ class MavenBuildMenu : DefaultActionGroup(), DumbAware {
|
||||
Executor.EXECUTOR_EXTENSION_NAME.extensionList
|
||||
.filter { it.isApplicable(project) }
|
||||
.reversed()
|
||||
.forEach { add(wrap(RunContextAction(it), it), Constraints.FIRST) }
|
||||
.forEach {
|
||||
val contextAction = actionManager.getAction(it.contextActionId)
|
||||
if (contextAction != null) {
|
||||
add(wrap(contextAction, it), Constraints.FIRST)
|
||||
}
|
||||
}
|
||||
|
||||
ActionManager.getInstance().getAction("Maven.RunBuild")?.let {
|
||||
add(it, Constraints.FIRST)
|
||||
|
||||
+12
-1
@@ -4,6 +4,7 @@ package org.jetbrains.idea.maven.navigator.actions;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.ProgramRunnerUtil;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.executors.ExecutorGroup;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
@@ -14,6 +15,7 @@ import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.maven.utils.MavenDataKeys;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public final class MavenRunConfigurationMenu extends DefaultActionGroup implements DumbAware {
|
||||
@@ -32,7 +34,16 @@ public final class MavenRunConfigurationMenu extends DefaultActionGroup implemen
|
||||
return;
|
||||
}
|
||||
|
||||
List<Executor> executors = Executor.EXECUTOR_EXTENSION_NAME.getExtensionList();
|
||||
@SuppressWarnings("DuplicatedCode")
|
||||
final List<Executor> executors = new ArrayList<>();
|
||||
for (final Executor executor: Executor.EXECUTOR_EXTENSION_NAME.getExtensionList()) {
|
||||
if (executor instanceof ExecutorGroup) {
|
||||
executors.addAll(((ExecutorGroup<?>)executor).childExecutors());
|
||||
}
|
||||
else {
|
||||
executors.add(executor);
|
||||
}
|
||||
}
|
||||
for (int i = executors.size(); --i >= 0; ) {
|
||||
Executor executor = executors.get(i);
|
||||
if (!executor.isApplicable(project)) {
|
||||
|
||||
Reference in New Issue
Block a user