org.apache.tools.ant.taskdefs

## Class Exit

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.Exit

- All Implemented Interfaces:
    java.lang.Cloneable

      public class Exit
      extends Task

  Exits the active build, giving an additional message if available. The `if` and `unless` attributes make the failure conditional -both probe for the named property being defined. The `if` tests for the property being defined, the `unless` for a property being undefined. If both attributes are set, then the test fails only if both tests are true. i.e.

      fail := defined(ifProperty) && !defined(unlessProperty)

  A single nested`<condition>` element can be specified instead of using `if`/`unless` (a combined effect can be achieved using `isset` conditions).
  Since:
    Ant 1.2

- - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Exit()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addText(java.lang.String msg)` Set a multiline message.
    `ConditionBase` | `createCondition()` Add a condition element.
    `void` | `execute()` Throw a `BuildException` to exit (fail) the build.
    `void` | `setIf(java.lang.Object c)` Only fail if the given expression evaluates to true or the name of an existing property.
    `void` | `setIf(java.lang.String c)` Only fail if the given expression evaluates to true or the name of an existing property.
    `void` | `setMessage(java.lang.String value)` A message giving further information on why the build exited.
    `void` | `setStatus(int i)` Set the status code to associate with the thrown Exception.
    `void` | `setUnless(java.lang.Object c)` Only fail if the given expression evaluates to false or tno property of the given name exists.
    `void` | `setUnless(java.lang.String c)` Only fail if the given expression evaluates to false or tno property of the given name exists.

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Exit

          public Exit()

  - ### Method Detail

    - #### setMessage

          public void setMessage(java.lang.String value)

      A message giving further information on why the build exited.
      Parameters:
        `value` - message to output

    - #### setIf

          public void setIf(java.lang.Object c)

      Only fail if the given expression evaluates to true or the name of an existing property.
      Parameters:
        `c` - property name or evaluated expression
      Since:
        Ant 1.8.0

    - #### setIf

          public void setIf(java.lang.String c)

      Only fail if the given expression evaluates to true or the name of an existing property.
      Parameters:
        `c` - property name or evaluated expression

    - #### setUnless

          public void setUnless(java.lang.Object c)

      Only fail if the given expression evaluates to false or tno property of the given name exists.
      Parameters:
        `c` - property name or evaluated expression
      Since:
        Ant 1.8.0

    - #### setUnless

          public void setUnless(java.lang.String c)

      Only fail if the given expression evaluates to false or tno property of the given name exists.
      Parameters:
        `c` - property name or evaluated expression

    - #### setStatus

          public void setStatus(int i)

      Set the status code to associate with the thrown Exception.
      Parameters:
        `i` - the `int` status

    - #### execute

          public void execute()
                       throws BuildException

      Throw a `BuildException` to exit (fail) the build. If specified, evaluate conditions: A single nested condition is accepted, but requires that the `if`/`unless` attributes be omitted. If the nested condition evaluates to true, or the ifCondition is true or unlessCondition is false, the build will exit. The error message is constructed from the text fields, from the nested condition (if specified), or finally from the if and unless parameters (if present).
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - on error

    - #### addText

          public void addText(java.lang.String msg)

      Set a multiline message.
      Parameters:
        `msg` - the message to display

    - #### createCondition

          public ConditionBase createCondition()

      Add a condition element.
      Returns:
        `ConditionBase`.
      Since:
        Ant 1.6.2