From 0b57250f9aba7cc27e8d0d34967f139d5ce21235 Mon Sep 17 00:00:00 2001 From: Andrey Turbanov Date: Thu, 14 Nov 2024 10:41:00 +0300 Subject: [PATCH] Get rid of internal API usage --- resources/META-INF/plugin.xml | 6 +++++- .../actions/RunConfigurationAsAction.java | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml index e24fa7b..51c5d2f 100644 --- a/resources/META-INF/plugin.xml +++ b/resources/META-INF/plugin.xml @@ -1,7 +1,7 @@ org.turbanov.run.configuration.as.action Run Configuration as Action - 3.0 + 3.1 Turbanov Andrey ]]> 3.1 +
    +
  • Get rid of internal API usage
  • +

3.0

  • Require 2023.x to be able to use new API
  • diff --git a/src/org/turbanov/actions/RunConfigurationAsAction.java b/src/org/turbanov/actions/RunConfigurationAsAction.java index 5ab5c4e..ebb4039 100644 --- a/src/org/turbanov/actions/RunConfigurationAsAction.java +++ b/src/org/turbanov/actions/RunConfigurationAsAction.java @@ -9,7 +9,6 @@ import com.intellij.execution.ExecutionTargetManager; import com.intellij.execution.Executor; import com.intellij.execution.ExecutorRegistry; -import com.intellij.execution.ExecutorRegistryImpl; import com.intellij.execution.RunManagerEx; import com.intellij.execution.RunnerAndConfigurationSettings; import com.intellij.execution.compound.CompoundRunConfiguration; @@ -75,15 +74,27 @@ public void actionPerformed(@NotNull AnActionEvent e) { MacroManager.getInstance().cacheMacrosPreview(e.getDataContext()); } - // Copy of 'com.intellij.execution.ExecutorRegistryImpl.RunnerHelper.runSubProcess' + runSubProcess(e.getDataContext(), runConfig, project, runManager, executor, target); + } + + // Copy of 'com.intellij.execution.ExecutorRegistryImpl.RunnerHelper.runSubProcess' + private static void runSubProcess(DataContext dataContext, + RunnerAndConfigurationSettings runConfig, + Project project, + RunManagerEx runManager, + Executor executor, + ExecutionTarget target) + { RunConfiguration configuration = runConfig.getConfiguration(); - DataContext dataContext = e.getDataContext(); if (configuration instanceof CompoundRunConfiguration) { for (SettingsAndEffectiveTarget settingsAndEffectiveTarget : ((CompoundRunConfiguration) configuration) .getConfigurationsWithEffectiveRunTargets()) { RunConfiguration subConfiguration = settingsAndEffectiveTarget.getConfiguration(); - ExecutorRegistryImpl.RunnerHelper.run(project, subConfiguration, runManager.findSettings(subConfiguration), dataContext, executor); + RunnerAndConfigurationSettings settings = runManager.findSettings(subConfiguration); + if (settings != null) { + runSubProcess(dataContext, settings, project, runManager, executor, target); + } } } else { ExecutionEnvironmentBuilder builder = ExecutionEnvironmentBuilder.createOrNull(executor, runConfig);