aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/manual/Tasks/input.html
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/manual/Tasks/input.html')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/manual/Tasks/input.html198
1 files changed, 198 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/manual/Tasks/input.html b/framework/src/ant/apache-ant-1.9.6/manual/Tasks/input.html
new file mode 100644
index 00000000..b04affc5
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/manual/Tasks/input.html
@@ -0,0 +1,198 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<link rel="stylesheet" type="text/css" href="../stylesheets/style.css">
+<title>Input Task</title>
+</head>
+
+<body>
+
+<h2><a name="input">Input</a></h2>
+<h3>Description</h3>
+
+<p>Allows user interaction during the build process by prompting for
+input. To do so, it uses the configured
+<a href="../inputhandler.html">InputHandler</a>.</p>
+
+<p>The prompt can be set via the message attribute or as character
+data nested into the element.</p>
+
+<p>Optionally a set of valid input arguments can be defined via the
+validargs attribute. Input task will not accept a value that doesn't match
+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 cannot be overridden.
+Since Apache Ant 1.6, <code>&lt;input&gt;</code> will not prompt for input if
+a property should be set by the task that has already been set in the
+project (and the task wouldn't have any effect).</p>
+
+<p>Historically, a regular complaint about this task has been that it echoes
+characters to the console, this is a critical security defect, we must fix it
+immediately, etc, etc. This problem was due to the lack in early versions of
+Java of a (fully functional) facility for handling secure console input.
+In Java 1.6 that shortcoming in Java's API was addressed and Ant versions 1.7.1
+and 1.8 have added support for Java 1.6's secure console input feature
+(see <a href="#handler.type">handler type</a>).</p>
+
+<p>
+IDE behaviour depends upon the IDE: some hang waiting for input, some let you
+type it in. For this situation, place the password in a (secured) property
+file and load in before the input task.</p>
+
+<h3>Parameters</h3>
+<table border="1" cellpadding="2" cellspacing="0">
+ <tr>
+ <td valign="top"><b>Attribute</b></td>
+ <td valign="top"><b>Description</b></td>
+ <td align="center" valign="top"><b>Required</b></td>
+ </tr>
+ <tr>
+ <td valign="top">message</td>
+ <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">validargs</td>
+ <td valign="top">comma separated String containing valid input
+ arguments. If set, input task will reject any input not defined
+ here. Validargs are compared case sensitive. If you want 'a' and
+ 'A' to be accepted you will need to define both arguments within
+ validargs.</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 to <a href="property.html">property
+ task</a> which means that existing properties cannot be
+ overridden.</td>
+ <td valign="top" align="center">No</td>
+ </tr>
+ <tr>
+ <td valign="top">defaultvalue</td>
+ <td valign="top">Defines the default value of the property to be
+ created from input. Property value will be set to default if no
+ input is received.</td>
+ <td valign="top" align="center">No</td>
+ </tr>
+</table>
+<h3>Parameters Specified as Nested Elements</h3>
+<h4>Handler</h4>
+<p>Since <b>Ant 1.7</b>, a nested &lt;handler&gt; element can be used to
+specify an InputHandler, so that different InputHandlers may be used
+among different Input tasks.
+
+<table border="1" cellpadding="2" cellspacing="0">
+ <tr>
+ <td valign="top"><b>Attribute</b></td>
+ <td valign="top"><b>Description</b></td>
+ <td align="center" valign="top"><b>Required</b></td>
+ </tr>
+ <tr>
+ <td valign="top"><a name="handler.type" />type</td>
+ <td valign="top">one of "default","propertyfile", "greedy", or "secure" (since Ant 1.8).
+ </td>
+ <td align="center" valign="top" rowspan="3">One of these</td>
+ </tr>
+ <tr>
+ <td valign="top">refid</td>
+ <td valign="top">Reference to an <code>InputHandler</code>
+ defined elsewhere in the project.
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">classname</td>
+ <td valign="top">The name of an <code>InputHandler</code> subclass.</td>
+ </tr>
+ <tr>
+ <td valign="top">classpath</td>
+ <td valign="top">The classpath to use with <i>classname</i>.</td>
+ <td valign="top">No</td>
+ </tr>
+ <tr>
+ <td valign="top">classpathref</td>
+ <td valign="top">The refid of a classpath to use with <i>classname</i>.</td>
+ <td valign="top">No</td>
+ </tr>
+ <tr>
+ <td valign="top">loaderref</td>
+ <td valign="top">The refid of a classloader to use with <i>classname</i>.
+ </td>
+ <td valign="top">No</td>
+ </tr>
+</table>
+<br />
+The classpath can also be specified by means of one or more nested
+&lt;classpath&gt; elements.</p>
+
+<h3>Examples</h3>
+<pre> &lt;input/&gt;</pre>
+<p>Will pause the build run until return key is pressed when using the
+<a href="../inputhandler.html#defaulthandler">default
+InputHandler</a>, the concrete behavior is defined by the InputHandler
+implementation you use.</p>
+<pre> &lt;input&gt;Press Return key to continue...&lt;/input&gt;</pre>
+<p>Will display the message &quot;Press Return key to
+continue...&quot; and pause the build run until return key is pressed
+(again, the concrete behavior is implementation dependent).</p>
+<pre> &lt;input
+ message=&quot;Press Return key to continue...&quot;
+ /&gt;</pre>
+<p>Will display the message &quot;Press Return key to
+continue...&quot; and pause the build run until return key is pressed
+(see above).</p>
+<pre>
+ &lt;input
+ message=&quot;All data is going to be deleted from DB continue (y/n)?&quot;
+ validargs=&quot;y,n&quot;
+ addproperty=&quot;do.delete&quot;
+ /&gt;
+ &lt;condition property=&quot;do.abort&quot;&gt;
+ &lt;equals arg1=&quot;n&quot; arg2=&quot;${do.delete}&quot;/&gt;
+ &lt;/condition&gt;
+ &lt;fail if=&quot;do.abort&quot;&gt;Build aborted by user.&lt;/fail&gt;
+</pre>
+<p>Will display the message &quot;All data is going to be deleted from
+DB continue (y/n)?&quot; and require 'y' to continue build or 'n' to
+exit build with following message &quot;Build aborted by
+user.&quot;.</p>
+<pre> &lt;input
+ message=&quot;Please enter db-username:&quot;
+ addproperty=&quot;db.user&quot;
+ /&gt;</pre>
+<p>Will display the message &quot;Please enter db-username:&quot; and set the
+property <code>db.user</code> to the value entered by the user.</p>
+
+<pre> &lt;input
+ message=&quot;Please enter db-username:&quot;
+ addproperty=&quot;db.user&quot;
+ defaultvalue=&quot;Scott-Tiger&quot;
+ /&gt;</pre>
+<p>Same as above, but will set <code>db.user</code> to the value
+<i>Scott- Tiger</i> if the user enters no value (simply types
+&lt;return&gt;).</p>
+
+
+</body>
+</html>