diff --git a/build.xml b/build.xml
index e55cc2671..91a274564 100644
--- a/build.xml
+++ b/build.xml
@@ -250,7 +250,7 @@
-
+
diff --git a/src/main/org/apache/tools/ant/taskdefs/Cvs.java b/src/main/org/apache/tools/ant/taskdefs/Cvs.java
index f340dceff..ce8b0280a 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Cvs.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Cvs.java
@@ -88,20 +88,20 @@ public class Cvs extends Task {
toExecute.setExecutable("cvs");
if (cvsRoot != null) {
- toExecute.addValue("-d");
- toExecute.addValue(cvsRoot);
+ toExecute.createArgument().setValue("-d");
+ toExecute.createArgument().setValue(cvsRoot);
}
if (noexec) {
- toExecute.addValue("-n");
+ toExecute.createArgument().setValue("-n");
}
if (quiet) {
- toExecute.addValue("-q");
+ toExecute.createArgument().setValue("-q");
}
- toExecute.addValue(command);
- toExecute.addLine(cmd.getCommandline());
+ toExecute.createArgument().setValue(command);
+ toExecute.addArguments(cmd.getCommandline());
if (pack != null) {
- toExecute.addValue(pack);
+ toExecute.createArgument().setValue(pack);
}
Execute exe = new Execute(new LogStreamHandler(this, Project.MSG_INFO,
@@ -141,16 +141,16 @@ public class Cvs extends Task {
public void setTag(String p) {
// Check if not real tag => set it to null
if (p != null && p.trim().length() > 0) {
- cmd.addValue("-r");
- cmd.addValue(p);
+ cmd.createArgument().setValue("-r");
+ cmd.createArgument().setValue(p);
}
}
public void setDate(String p) {
if(p != null && p.trim().length() > 0) {
- cmd.addValue("-D");
- cmd.addValue(p);
+ cmd.createArgument().setValue("-D");
+ cmd.createArgument().setValue(p);
}
}
diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java b/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
index b7614a434..b96b520db 100644
--- a/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
+++ b/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
@@ -135,7 +135,7 @@ public class ExecuteOn extends ExecTask {
String myos = System.getProperty("os.name");
if (parallel) {
- cmdl.addLine(s);
+ cmdl.addArguments(s);
exe.setCommandline(cmdl.getCommandline());
err = exe.execute();
if (err != 0) {
diff --git a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
index 5df491b15..52dcd7b09 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
@@ -223,7 +223,7 @@ public class Javadoc extends Task {
}
public void setDestdir(File dir) {
cmd.createArgument().setValue("-d");
- cmd.createArgument().setValue(dir.getAbsolutePath());
+ cmd.createArgument().setFile(dir);
destDir = dir;
}
public void setSourcefiles(String src) {
@@ -235,7 +235,7 @@ public class Javadoc extends Task {
public void setOverview(File f) {
if (!javadoc1) {
cmd.createArgument().setValue("-overview");
- cmd.createArgument().setValue(f.getAbsolutePath());
+ cmd.createArgument().setFile(f);
}
}
public void setPublic(boolean b) {
@@ -400,13 +400,13 @@ public class Javadoc extends Task {
public void setStylesheetfile(File f) {
if (!javadoc1) {
cmd.createArgument().setValue("-stylesheetfile");
- cmd.createArgument().setValue(f.getAbsolutePath());
+ cmd.createArgument().setFile(f);
}
}
public void setHelpfile(File f) {
if (!javadoc1) {
cmd.createArgument().setValue("-helpfile");
- cmd.createArgument().setValue(f.getAbsolutePath());
+ cmd.createArgument().setFile(f);
}
}
public void setDocencoding(String enc) {
@@ -517,10 +517,10 @@ public class Javadoc extends Task {
if ( (!javadoc1) || (sourcePath == null) ) {
cmd.createArgument().setValue("-classpath");
- cmd.createArgument().setValue(classpath.toString());
+ cmd.createArgument().setPath(classpath);
if (sourcePath != null) {
cmd.createArgument().setValue("-sourcepath");
- cmd.createArgument().setValue(sourcePath.toString());
+ cmd.createArgument().setPath(sourcePath);
}
} else {
cmd.createArgument().setValue("-classpath");
@@ -547,7 +547,7 @@ public class Javadoc extends Task {
cmd.createArgument().setValue(doclet.getName());
if (doclet.getPath() != null) {
cmd.createArgument().setValue("-docletpath");
- cmd.createArgument().setValue(doclet.getPath().toString());
+ cmd.createArgument().setPath(doclet.getPath());
}
for (Enumeration e = doclet.getParams(); e.hasMoreElements();) {
DocletParam param = (DocletParam)e.nextElement();
@@ -564,7 +564,7 @@ public class Javadoc extends Task {
}
if (bootclasspath != null) {
cmd.createArgument().setValue("-bootclasspath");
- cmd.createArgument().setValue(bootclasspath.toString());
+ cmd.createArgument().setPath(bootclasspath);
}
// add the links arguments
@@ -573,7 +573,7 @@ public class Javadoc extends Task {
LinkArgument la = (LinkArgument)e.nextElement();
if (la.getHref() == null) {
- throw new BuildException("Links must provide the RUL to the external class documentation.");
+ throw new BuildException("Links must provide the URL to the external class documentation.");
}
if (la.isLinkOffline()) {
diff --git a/src/main/org/apache/tools/ant/taskdefs/Patch.java b/src/main/org/apache/tools/ant/taskdefs/Patch.java
index c31487f6d..0a5223c78 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Patch.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Patch.java
@@ -85,8 +85,8 @@ public class Patch extends Task {
throw new BuildException("patchfile "+file+" doesn\'t exist",
location);
}
- cmd.addValue("-i");
- cmd.addValue(file.getAbsolutePath());
+ cmd.createArgument().setValue("-i");
+ cmd.createArgument().setFile(file);
havePatchfile = true;
}
@@ -95,7 +95,7 @@ public class Patch extends Task {
*/
public void setBackups(boolean backups) {
if (backups) {
- cmd.addValue("-b");
+ cmd.createArgument().setValue("-b");
}
}
@@ -104,7 +104,7 @@ public class Patch extends Task {
*/
public void setIgnorewhitespace(boolean ignore) {
if (ignore) {
- cmd.addValue("-l");
+ cmd.createArgument().setValue("-l");
}
}
@@ -118,7 +118,7 @@ public class Patch extends Task {
if (num < 0) {
throw new BuildException("strip has to be >= 0", location);
}
- cmd.addValue("-p"+num);
+ cmd.createArgument().setValue("-p"+num);
}
/**
@@ -126,7 +126,7 @@ public class Patch extends Task {
*/
public void setQuiet(boolean q) {
if (q) {
- cmd.addValue("-s");
+ cmd.createArgument().setValue("-s");
}
}
@@ -135,7 +135,7 @@ public class Patch extends Task {
*/
public void setReverse(boolean r) {
if (r) {
- cmd.addValue("-R");
+ cmd.createArgument().setValue("-R");
}
}
@@ -148,7 +148,7 @@ public class Patch extends Task {
cmd.setExecutable("patch");
if (originalFile != null) {
- cmd.addValue(originalFile.getAbsolutePath());
+ cmd.createArgument().setFile(originalFile);
}
Execute exe = new Execute(new LogStreamHandler(this, Project.MSG_INFO,
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java b/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java
index 3f0787e5a..1d6ded673 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java
@@ -194,23 +194,23 @@ public class Cab extends MatchingTask {
{
Commandline command = new Commandline();
command.setExecutable("cabarc");
- command.addValue("-r");
- command.addValue("-p");
+ command.createArgument().setValue("-r");
+ command.createArgument().setValue("-p");
if (!doCompress)
{
- command.addValue("-m");
- command.addValue("none");
+ command.createArgument().setValue("-m");
+ command.createArgument().setValue("none");
}
if (cmdOptions != null)
{
- command.addValue(cmdOptions);
+ command.createArgument().setValue(cmdOptions);
}
- command.addValue("n");
- command.addValue(cabFile.getAbsolutePath());
- command.addValue("@" + listFile.getAbsolutePath());
+ command.createArgument().setValue("n");
+ command.createArgument().setFile(cabFile);
+ command.createArgument().setValue("@" + listFile.getAbsolutePath());
return command;
}
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
index ef7748595..771e1035b 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
@@ -224,8 +224,8 @@ public class JUnitTask extends Task {
// Create a watchdog based on the timeout attribute
final Execute execute = new Execute(new PumpStreamHandler(), createWatchdog());
final Commandline cmdl = new Commandline();
- cmdl.addLine(commandline.getCommandline());
- cmdl.addLine(test.getCommandline());
+ cmdl.addArguments(commandline.getCommandline());
+ cmdl.addArguments(test.getCommandline());
execute.setCommandline(cmdl.getCommandline());
log("Execute JUnit: " + cmdl, Project.MSG_VERBOSE);
exitValue = execute.execute();
diff --git a/src/main/org/apache/tools/ant/types/Commandline.java b/src/main/org/apache/tools/ant/types/Commandline.java
index 029cf35dd..4f0c54b76 100644
--- a/src/main/org/apache/tools/ant/types/Commandline.java
+++ b/src/main/org/apache/tools/ant/types/Commandline.java
@@ -55,6 +55,7 @@
package org.apache.tools.ant.types;
import org.apache.tools.ant.BuildException;
+import java.io.File;
import java.util.Vector;
import java.util.StringTokenizer;
@@ -93,7 +94,7 @@ public class Commandline {
if (tmp != null && tmp.length > 0) {
setExecutable(tmp[0]);
for (int i=1; iaddValue or the argument object.
*/
public String[] getArguments() {
- final String [] result;
- result = new String[definition.size()];
- definition.copyInto(result);
- return result;
+ Vector result = new Vector(definition.size()*2);
+ for (int i=0; i