git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270129 13f79535-47bb-0310-9956-ffa450edef68master
@@ -18,9 +18,6 @@ or as character data nested into the element.</p> | |||
<p>Optinonally a set of valid imput arguments can be defined via the validargs | |||
attribute. Input task will require the user to reenter values until the entered | |||
value matches one of the predefined.</p> | |||
<p>Optionally a set of exit arguments can be defined via the exitargs attribute. | |||
Input task will throw a BuildException with a customisable exit message if the | |||
entered value matches one of the predefined.</p> | |||
<p>Optionally a property can be created from the value entered by the user. This | |||
property can then be used during the following build run. Input behaves according | |||
to <a href="property.html">property task</a> which means that existing properties | |||
@@ -37,11 +34,6 @@ cannot be overriden.</p> | |||
<td valign="top">the Message which gets displayed to the user during the build run.</td> | |||
<td valign="top" align="center">No</td> | |||
</tr> | |||
<tr> | |||
<td valign="top">exitmessage</td> | |||
<td valign="top">the exit message which gets displayed when exiting the build run.</td> | |||
<td valign="top" align="center">No</td> | |||
</tr> | |||
<tr> | |||
<td valign="top">validargs</td> | |||
<td valign="top">comma separated String containing valid input arguments. If set, | |||
@@ -51,15 +43,6 @@ cannot be overriden.</p> | |||
be accepted you will need to define both arguments within validargs.</td> | |||
<td valign="top" align="center">No</td> | |||
</tr> | |||
<tr> | |||
<td valign="top">exitargs</td> | |||
<td valign="top">comma separated String containing exit arguments. If set, | |||
input task will throw a BuildException with a customisable exit message if the | |||
entered value matches to one of the predefined. Exitargs are compared case | |||
sensitive. If you want 'x' and 'X' to end the build run you will need to define | |||
both arguments within exitargs.</td> | |||
<td valign="top" align="center">No</td> | |||
</tr> | |||
<tr> | |||
<td valign="top">addproperty</td> | |||
<td valign="top">the name of a property to be created from input. Behaviour is equal | |||
@@ -79,12 +62,17 @@ the build run until return key is pressed.</p> | |||
/></pre> | |||
<p>Will display the message "Press Return key to continue..." and pause | |||
the build run until return key is pressed.</p> | |||
<pre> <input | |||
<pre> | |||
<input | |||
message="All data is going to be deleted from DB continue (y/n)?" | |||
validargs="y,n" | |||
exitargs="n" | |||
exitmessage="Build abborted by user." | |||
/></pre> | |||
addproperty="do.delete" | |||
/> | |||
<condition propert="do.abort"> | |||
<equals arg1="n" arg2="${do.delete}" /> | |||
</condition> | |||
<fail if="do.abort">Build abborted by user.</fail> | |||
</pre> | |||
<p>Will display the message "All data is going to be deleted from DB continue | |||
(y/n)?" and require 'y+retrun key' to continue build or 'n+return key' | |||
to exit build with following message "Build abborted by user.".</p> | |||
@@ -16,15 +16,6 @@ | |||
<input testinput="test" | |||
message="All data is going to be deleted from DB continue (y/n)?" | |||
validargs="y,n" | |||
exitargs="n" | |||
/> | |||
</target> | |||
<target name="test4"> | |||
<input testinput="n" | |||
message="All data is going to be deleted from DB continue (y/n)?" | |||
validargs="y,n" | |||
exitargs="n" | |||
/> | |||
</target> | |||
@@ -32,7 +23,6 @@ | |||
<input testinput="y" | |||
message="All data is going to be deleted from DB continue (y/n)?" | |||
validargs="y,n" | |||
exitargs="n" | |||
/> | |||
</target> | |||
@@ -43,13 +33,4 @@ | |||
/> | |||
</target> | |||
<target name="test7"> | |||
<input testinput="R" | |||
message="Press 'R' to make you very rich!" | |||
validargs="R" | |||
exitargs="R" | |||
exitmessage="Don't trust if you don't have the source ;-)" | |||
/> | |||
</target> | |||
</project> |
@@ -69,8 +69,6 @@ import org.apache.tools.ant.*; | |||
*/ | |||
public class Input extends Task { | |||
private String validargs = null; | |||
private String exitargs = null; | |||
private String exitmessage = "Build abborted."; | |||
private String message = ""; | |||
private String addproperty = null; | |||
private String input = null; | |||
@@ -92,33 +90,12 @@ public class Input extends Task { | |||
* according to property task which means that existing properties | |||
* cannot be overriden. | |||
* | |||
* @param exitargs Name for the property to be created from input | |||
* @param addproperty Name for the property to be created from input | |||
*/ | |||
public void setAddproperty (String addproperty) { | |||
this.addproperty = addproperty; | |||
} | |||
/* | |||
* Defines exit condition parameters as comma separated String. If input | |||
* matches one of these input task will end build by throwing a | |||
* BuildException. ExitArgs are case sensitive. If you want the build to | |||
* end on 'x' and 'X' you need to define both values as exit arguments. | |||
* | |||
* @param exitargs A comma separated String defining exit arguments. | |||
*/ | |||
public void setExitargs (String exitargs) { | |||
this.exitargs = exitargs; | |||
} | |||
/** | |||
* Sets the ExitMessage which gets displayed when exiting the build run. | |||
* Default is 'Build abborted.' | |||
* @param exitmessage The exit message to be displayed. | |||
*/ | |||
public void setExitmessage (String exitmessage) { | |||
this.exitmessage = exitmessage; | |||
} | |||
/** | |||
* Sets the Message which gets displayed to the user during the build run. | |||
* @param message The message to be displayed. | |||
@@ -154,14 +131,6 @@ public class Input extends Task { | |||
accept.addElement(stok.nextToken()); | |||
} | |||
} | |||
Vector exit = null; | |||
if (exitargs != null) { | |||
exit = new Vector(); | |||
StringTokenizer stok = new StringTokenizer(exitargs, ",", false); | |||
while (stok.hasMoreTokens()) { | |||
exit.addElement(stok.nextToken()); | |||
} | |||
} | |||
log(message, Project.MSG_WARN); | |||
if (input == null) { | |||
try { | |||
@@ -193,9 +162,6 @@ public class Input extends Task { | |||
log("Override ignored for " + addproperty, Project.MSG_VERBOSE); | |||
} | |||
} | |||
if (exit != null && exit.contains(input)) { | |||
throw new BuildException(exitmessage); | |||
} | |||
} | |||
// copied n' pasted from org.apache.tools.ant.taskdefs.Exit | |||
@@ -203,8 +169,7 @@ public class Input extends Task { | |||
* Set a multiline message. | |||
*/ | |||
public void addText(String msg) { | |||
message += | |||
ProjectHelper.replaceProperties(project, msg); | |||
message += project.replaceProperties(msg); | |||
} | |||
} | |||
@@ -88,18 +88,6 @@ public class InputTest extends BuildFileTest { | |||
} | |||
} | |||
public void test4() { | |||
String log = "All data is going to be deleted from DB continue (y/n)?"; | |||
String message = "Build abborted."; | |||
try { | |||
executeTarget("test4"); | |||
} catch (org.apache.tools.ant.BuildException e) { | |||
String realLog = getLog(); | |||
assertEquals(log, realLog); | |||
assertEquals(message, e.getMessage()); | |||
} | |||
} | |||
public void test5() { | |||
expectLog("test5", | |||
"All data is going to be deleted from DB continue (y/n)?"); | |||
@@ -111,8 +99,4 @@ public class InputTest extends BuildFileTest { | |||
assertEquals("scott", project.getProperty("db.user")); | |||
} | |||
public void test7() { | |||
expectBuildException("test7", | |||
"Don't trust if you don't have the source ;-)"); | |||
} | |||
} |