antoine 2003/07/29 06:09:11
Modified: src/main/org/apache/tools/ant/taskdefs ExecTask.java
Log:
throw an exception if <exec/> is used with an attribute
which is incompatible with spawn and spawn=true.
Revision Changes Path
1.59 +21 -0 ant/src/main/org/apache/tools/ant/taskdefs/ExecTask.java
Index: ExecTask.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ExecTask.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- ExecTask.java 28 Jul 2003 10:39:30 -0000 1.58
+++ ExecTask.java 29 Jul 2003 13:09:11 -0000 1.59
@@ -92,6 +92,7 @@
private String executable;
private boolean resolveExecutable = false;
private boolean spawn = false;
+ private boolean incompatibleWithSpawn = false;
private Redirector redirector = new Redirector(this);
@@ -120,6 +121,7 @@
*/
public void setTimeout(Long value) {
timeout = value;
+ incompatibleWithSpawn = true;
}
/**
@@ -133,6 +135,7 @@
} else {
setTimeout(new Long(value.intValue()));
}
+ incompatibleWithSpawn = true;
}
/**
@@ -180,6 +183,7 @@
*/
public void setOutput(File out) {
redirector.setOutput(out);
+ incompatibleWithSpawn = true;
}
/**
@@ -189,6 +193,7 @@
*/
public void setInput(File input) {
redirector.setInput(input);
+ incompatibleWithSpawn = true;
}
/**
@@ -198,6 +203,7 @@
*/
public void setInputString(String inputString) {
redirector.setInputString(inputString);
+ incompatibleWithSpawn = true;
}
/**
@@ -209,6 +215,7 @@
*/
public void setLogError(boolean logError) {
redirector.setLogError(logError);
+ incompatibleWithSpawn = true;
}
/**
@@ -220,6 +227,7 @@
*/
public void setError(File error) {
redirector.setError(error);
+ incompatibleWithSpawn = true;
}
/**
@@ -230,6 +238,7 @@
*/
public void setOutputproperty(String outputProp) {
redirector.setOutputProperty(outputProp);
+ incompatibleWithSpawn = true;
}
/**
@@ -242,6 +251,7 @@
*/
public void setErrorProperty(String errorProperty) {
redirector.setErrorProperty(errorProperty);
+ incompatibleWithSpawn = true;
}
/**
@@ -251,6 +261,7 @@
*/
public void setFailonerror(boolean fail) {
failOnError = fail;
+ incompatibleWithSpawn = true;
}
/**
@@ -302,6 +313,7 @@
*/
public void setResultProperty(String resultProperty) {
this.resultProperty = resultProperty;
+ incompatibleWithSpawn = true;
}
/**
@@ -327,6 +339,7 @@
*/
public void setFailIfExecutionFails(boolean flag) {
failIfExecFails = flag;
+ incompatibleWithSpawn = true;
}
/**
@@ -339,6 +352,7 @@
*/
public void setAppend(boolean append) {
redirector.setAppend(append);
+ incompatibleWithSpawn = true;
}
@@ -412,6 +426,13 @@
if (dir != null && !dir.isDirectory()) {
throw new BuildException("The directory you specified is not a "
+ "directory");
+ }
+ if (spawn && incompatibleWithSpawn) {
+ getProject().log("spawn does not allow attributes related to
input, "
+ + "output, error, result", Project.MSG_ERR);
+ getProject().log("spawn does not also not allow timeout",
Project.MSG_ERR);
+ throw new BuildException("You have used an attribute which is "
+ + "not compatible with spawn");
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]