Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsarsenau2002-06-21 15:49:36 +0000
committersarsenau2002-06-21 15:49:36 +0000
commit8a304c54afe769ef0a0c184c731dd217d97447e3 (patch)
treee34cd5bfbb1370aa318636d7267b41870a9e4879
parentad7325dadecacf7195825c80d3e117444c3bfc0d (diff)
downloadeclipse.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"
-rw-r--r--org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/AntFileRunner.java8
-rw-r--r--org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/DefaultRunnerContext.java4
-rw-r--r--org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java13
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.
*/

Back to the top