diff options
author | sarsenau | 2002-06-21 15:49:36 +0000 |
---|---|---|
committer | sarsenau | 2002-06-21 15:49:36 +0000 |
commit | 8a304c54afe769ef0a0c184c731dd217d97447e3 (patch) | |
tree | e34cd5bfbb1370aa318636d7267b41870a9e4879 | |
parent | ad7325dadecacf7195825c80d3e117444c3bfc0d (diff) | |
download | eclipse.platform.debug-8a304c54afe769ef0a0c184c731dd217d97447e3.tar.gz eclipse.platform.debug-8a304c54afe769ef0a0c184c731dd217d97447e3.tar.xz eclipse.platform.debug-8a304c54afe769ef0a0c184c731dd217d97447e3.zip |
Fix for PR 20599 - [ExternalTools] F3 behaves differently than F2 with variables in "Tool Arguments"
3 files changed, 21 insertions, 4 deletions
diff --git a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/AntFileRunner.java b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/AntFileRunner.java index 750db6a9b..f081ccc04 100644 --- a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/AntFileRunner.java +++ b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/AntFileRunner.java @@ -39,8 +39,12 @@ public class AntFileRunner extends ExternalToolsRunner { String args = runnerContext.getExpandedArguments(); String baseDir = runnerContext.getExpandedWorkingDirectory(); if (baseDir.length() > 0) { - String baseDirArg = BASE_DIR_PREFIX + baseDir; - runner.setArguments(args + " \"" + baseDirArg + "\""); //$NON-NLS-2$ //$NON-NLS-1$ + String baseDirArg; + if (ToolUtil.hasSpace(baseDir)) + baseDirArg = BASE_DIR_PREFIX + "\"" + baseDir + "\""; //$NON-NLS-2$ //$NON-NLS-1$ + else + baseDirArg = BASE_DIR_PREFIX + baseDir; + runner.setArguments(args + " " + baseDirArg ); //$NON-NLS-1$ } else { runner.setArguments(args); } diff --git a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/DefaultRunnerContext.java b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/DefaultRunnerContext.java index 1156a6c8c..f19e18537 100644 --- a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/DefaultRunnerContext.java +++ b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/DefaultRunnerContext.java @@ -309,10 +309,10 @@ public final class DefaultRunnerContext implements IRunnerContext { */ private void appendVariable(String var, StringBuffer buf, boolean addQuotes) { if (var != null) { - if (addQuotes) + if (addQuotes && ToolUtil.hasSpace(var)) buf.append("\""); //$NON-NLS-1$ buf.append(var); - if (addQuotes) + if (addQuotes && ToolUtil.hasSpace(var)) buf.append("\""); //$NON-NLS-1$ } } diff --git a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java index 0e27f06c5..a9d2b6f95 100644 --- a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java +++ b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java @@ -264,6 +264,19 @@ public final class ToolUtil { } /** + * Returns whether or not the given string contains at least one space. + * + * @return true if the given string contains at least one space, false otherwise + */ + public static boolean hasSpace(String var) { + int index = var.indexOf(' '); + if (index >= 0) + return true; + else + return false; + } + + /** * Structure to represent a variable definition within a * source string. */ |