# Input Task

## Input

### Description

Allows user interaction during the build process by displaying a message and reading a line of input from the console (System.in). The user will need to press the Return key.

The message displayed can be set via the message attribute or as character data nested into the element.

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.

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 property task which means that existing properties cannot be overriden.

### Parameters

Attribute | Description | Required
message | the Message which gets displayed to the user during the build run. | No
validargs | comma separated String containing valid input arguments. If set, input task will reject any input not defined here and input task will require the user to reenter arguments until the entered one matches one of the predefined. Validargs are compared case sensitive. If you want 'a' and 'A' to be accepted you will need to define both arguments within validargs. | No
addproperty | the name of a property to be created from input. Behaviour is equal to property task which means that existing properties cannot be overriden. | No

### Examples

      <input/>

Will pause the build run until return key is pressed.

      <input>Press Return key to continue...</input>

Will display the message "Press Return key to continue..." and pause the build run until return key is pressed.

      <input
        message="Press Return key to continue..."
      />

Will display the message "Press Return key to continue..." and pause the build run until return key is pressed.

      <input
        message="All data is going to be deleted from DB continue (y/n)?"
        validargs="y,n"
        addproperty="do.delete"
      />
      <condition property="do.abort">
        <equals arg1="n" arg2="${do.delete}" />
      </condition>
      <fail if="do.abort">Build aborted by user.</fail>

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 aborted by user.".

      <input
        message="Please enter db-username:"
        addproperty="db.user"
      />

Will display the message "Please enter db-username:" and set the property `db.user` to the value entered by the user.

Copyright © 2001 Apache Software Foundation. All rights Reserved.