From 0d2120c8ea616c6500928183e8742a938c16820c Mon Sep 17 00:00:00 2001 From: Vassiliy Kudryashov Date: Thu, 20 Sep 2012 17:19:30 +0400 Subject: [PATCH] IDEA-20688 XSLT Run/Debug configuration allows to Debug --- .../intellij/execution/configurations/RunConfiguration.java | 4 ++++ .../RunConfigurationWithSuppressedDefaultDebugAction.java | 5 ++++- .../intellij/lang/xpath/xslt/run/XsltRunConfiguration.java | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) rename {java/debugger/impl/src/com/intellij/debugger/impl => platform/lang-api/src/com/intellij/execution/configurations}/RunConfigurationWithSuppressedDefaultDebugAction.java (74%) diff --git a/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java b/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java index 992f6715611a..0c579beefd1b 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/RunConfiguration.java @@ -24,6 +24,10 @@ import org.jetbrains.annotations.Nullable; /** * @see com.intellij.execution.RunManager + * + * If debugger is provided by plugin, RunConfiguration should also implement RunConfigurationWithSuppressedDefaultDebugAction + * Otherwise (in case of disabled plugin) debug action may be enabled in UI but with no reaction + * @see RunConfigurationWithSuppressedDefaultDebugAction */ public interface RunConfiguration extends RunProfile, JDOMExternalizable, Cloneable { ConfigurationFactory getFactory(); diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/RunConfigurationWithSuppressedDefaultDebugAction.java b/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationWithSuppressedDefaultDebugAction.java similarity index 74% rename from java/debugger/impl/src/com/intellij/debugger/impl/RunConfigurationWithSuppressedDefaultDebugAction.java rename to platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationWithSuppressedDefaultDebugAction.java index 7a7121dc7565..911d06574dd3 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/RunConfigurationWithSuppressedDefaultDebugAction.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationWithSuppressedDefaultDebugAction.java @@ -13,7 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.debugger.impl; +package com.intellij.execution.configurations; + +// This interface for RunConfiguration indicates specific debugger (e.g. provided by plugin) +// and RunConfiguration won't be started with default runner (UI will show disabled button) public interface RunConfigurationWithSuppressedDefaultDebugAction { } diff --git a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/run/XsltRunConfiguration.java b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/run/XsltRunConfiguration.java index a223b2150a9e..c01b49ee4d99 100644 --- a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/run/XsltRunConfiguration.java +++ b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/run/XsltRunConfiguration.java @@ -59,7 +59,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -public final class XsltRunConfiguration extends RunConfigurationBase implements LocatableConfiguration, ModuleRunConfiguration { +public final class XsltRunConfiguration extends RunConfigurationBase implements LocatableConfiguration, ModuleRunConfiguration, RunConfigurationWithSuppressedDefaultDebugAction { private static final String NAME = "XSLT Configuration"; private static final String STRICT_FILE_PATH_EXPR = "(file\\://?(?:/?\\p{Alpha}\\:)?(?:/\\p{Alpha}\\:)?[^:]+)";