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 | <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 | attribute. Input task will require the user to reenter values until the entered | ||||
value matches one of the predefined.</p> | 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 | <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 | 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 | 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">the Message which gets displayed to the user during the build run.</td> | ||||
<td valign="top" align="center">No</td> | <td valign="top" align="center">No</td> | ||||
</tr> | </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> | <tr> | ||||
<td valign="top">validargs</td> | <td valign="top">validargs</td> | ||||
<td valign="top">comma separated String containing valid input arguments. If set, | <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> | be accepted you will need to define both arguments within validargs.</td> | ||||
<td valign="top" align="center">No</td> | <td valign="top" align="center">No</td> | ||||
</tr> | </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> | <tr> | ||||
<td valign="top">addproperty</td> | <td valign="top">addproperty</td> | ||||
<td valign="top">the name of a property to be created from input. Behaviour is equal | <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> | /></pre> | ||||
<p>Will display the message "Press Return key to continue..." and pause | <p>Will display the message "Press Return key to continue..." and pause | ||||
the build run until return key is pressed.</p> | 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)?" | message="All data is going to be deleted from DB continue (y/n)?" | ||||
validargs="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 | <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' | (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> | to exit build with following message "Build abborted by user.".</p> | ||||
@@ -16,15 +16,6 @@ | |||||
<input testinput="test" | <input testinput="test" | ||||
message="All data is going to be deleted from DB continue (y/n)?" | message="All data is going to be deleted from DB continue (y/n)?" | ||||
validargs="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> | </target> | ||||
@@ -32,7 +23,6 @@ | |||||
<input testinput="y" | <input testinput="y" | ||||
message="All data is going to be deleted from DB continue (y/n)?" | message="All data is going to be deleted from DB continue (y/n)?" | ||||
validargs="y,n" | validargs="y,n" | ||||
exitargs="n" | |||||
/> | /> | ||||
</target> | </target> | ||||
@@ -43,13 +33,4 @@ | |||||
/> | /> | ||||
</target> | </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> | </project> |
@@ -69,8 +69,6 @@ import org.apache.tools.ant.*; | |||||
*/ | */ | ||||
public class Input extends Task { | public class Input extends Task { | ||||
private String validargs = null; | private String validargs = null; | ||||
private String exitargs = null; | |||||
private String exitmessage = "Build abborted."; | |||||
private String message = ""; | private String message = ""; | ||||
private String addproperty = null; | private String addproperty = null; | ||||
private String input = null; | private String input = null; | ||||
@@ -92,33 +90,12 @@ public class Input extends Task { | |||||
* according to property task which means that existing properties | * according to property task which means that existing properties | ||||
* cannot be overriden. | * 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) { | public void setAddproperty (String addproperty) { | ||||
this.addproperty = 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. | * Sets the Message which gets displayed to the user during the build run. | ||||
* @param message The message to be displayed. | * @param message The message to be displayed. | ||||
@@ -154,14 +131,6 @@ public class Input extends Task { | |||||
accept.addElement(stok.nextToken()); | 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); | log(message, Project.MSG_WARN); | ||||
if (input == null) { | if (input == null) { | ||||
try { | try { | ||||
@@ -193,9 +162,6 @@ public class Input extends Task { | |||||
log("Override ignored for " + addproperty, Project.MSG_VERBOSE); | 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 | // copied n' pasted from org.apache.tools.ant.taskdefs.Exit | ||||
@@ -203,8 +169,7 @@ public class Input extends Task { | |||||
* Set a multiline message. | * Set a multiline message. | ||||
*/ | */ | ||||
public void addText(String msg) { | 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() { | public void test5() { | ||||
expectLog("test5", | expectLog("test5", | ||||
"All data is going to be deleted from DB continue (y/n)?"); | "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")); | assertEquals("scott", project.getProperty("db.user")); | ||||
} | } | ||||
public void test7() { | |||||
expectBuildException("test7", | |||||
"Don't trust if you don't have the source ;-)"); | |||||
} | |||||
} | } |