Fixed bug 13130
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
index 1211725..dac4e8c 100644
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
+++ b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
@@ -24,6 +24,7 @@
 	protected Map userProperties;
 	protected int messageOutputLevel = 2; // Project.MSG_INFO
 	protected String buildLoggerClassName;
+	protected String arguments;
 
 public AntRunner() {
 	buildListeners = new ArrayList(5);
@@ -58,6 +59,13 @@
 }
 
 /**
+ * 
+ */
+public void setArguments(String arguments) {
+	this.arguments = arguments;
+}
+
+/**
  * Sets the executionTargets in the order they need to run.
  * 
  */
@@ -124,6 +132,11 @@
 			Method setExecutionTargets = classInternalAntRunner.getMethod("setExecutionTargets", new Class[] {Vector.class});
 			setExecutionTargets.invoke(runner, new Object[] {targets});
 		}
+		// set extra arguments
+		if (arguments != null) {
+			Method setArguments = classInternalAntRunner.getMethod("setArguments", new Class[] {String.class});
+			setArguments.invoke(runner, new Object[] {arguments});
+		}
 		// run
 		Method run = classInternalAntRunner.getMethod("run", null);
 		run.invoke(runner, null);
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
index fedf024..9e1463e 100644
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
+++ b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
@@ -125,6 +125,9 @@
 	 */
 	protected String loggerClassname = null;
 
+	/** Extra arguments to be parsed as command line arguments. */
+	protected String extraArguments = null;
+
 	// properties
 	private static final String PROPERTY_ECLIPSE_RUNNING = "eclipse.running";
 
@@ -234,6 +237,8 @@
  * Runs the build script.
  */
 public void run() {
+	if (extraArguments != null)
+		processCommandLine(getArrayList(extraArguments));
 	Project project = new Project();
 	Throwable error = null;
     PrintStream originalErr = System.err;
@@ -482,6 +487,13 @@
 }
 
 /**
+ * 
+ */
+public void setArguments(String args) {
+	this.extraArguments = args;
+}
+
+/**
  * Sets the execution targets.
  * 
  */
@@ -696,4 +708,17 @@
 		result.add(args[i]);
 	return result;
 }
+
+/**
+ * Helper method to ensure an array is converted into an ArrayList.
+ */
+private ArrayList getArrayList(String args) {
+	ArrayList result = new ArrayList();
+	for (StringTokenizer tokens = new StringTokenizer(args, ","); tokens.hasMoreTokens();) {
+		String token = tokens.nextToken().trim();
+		if (!token.equals(""))
+			result.add(token);
+	}
+	return result;
+}
 }
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
index 83b2a4d..b9dd8d5 100644
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
+++ b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
Binary files differ