Exit (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs, class: Exit

# Class Exit

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

All Implemented Interfaces:
  `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 Task

  `target, taskName, taskType, wrapper`
  Modifier and Type
  Field
  Description
  `protected Target`
  `target`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskName`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskType`
  Deprecated.
  since 1.6.x.
  `protected RuntimeConfigurable`
  `wrapper`
  Deprecated.
  since 1.6.x.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Exit()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addText(String msg)`
  Set a multiline message.
  `ConditionBase`
  `createCondition()`
  Add a condition element.
  `void`
  `execute()`
  Throw a `BuildException` to exit (fail) the build.
  `void`
  `setIf(Object c)`
  Only fail if the given expression evaluates to true or the name of an existing property.
  `void`
  `setIf(String c)`
  Only fail if the given expression evaluates to true or the name of an existing property.
  `void`
  `setMessage(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(Object c)`
  Only fail if the given expression evaluates to false or tno property of the given name exists.
  `void`
  `setUnless(String c)`
  Only fail if the given expression evaluates to false or tno property of the given name exists.

  ### Methods inherited from class 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`
  Modifier and Type
  Method
  Description
  `final void`
  `bindToOwner(Task owner)`
  Bind a task to another; use this when configuring a newly created task to do work on behalf of another.
  `Target`
  `getOwningTarget()`
  Returns the container target of this task.
  `RuntimeConfigurable`
  `getRuntimeConfigurableWrapper()`
  Returns the wrapper used for runtime configuration.
  `String`
  `getTaskName()`
  Returns the name to use in logging messages.
  `String`
  `getTaskType()`
  Return the type of task.
  `protected RuntimeConfigurable`
  `getWrapper()`
  Return the runtime configurable structure for this task.
  `protected void`
  `handleErrorFlush(String output)`
  Handles an error line by logging it with the WARN priority.
  `protected void`
  `handleErrorOutput(String output)`
  Handles an error output by logging it with the WARN priority.
  `protected void`
  `handleFlush(String output)`
  Handles output by logging it with the INFO priority.
  `protected int`
  `handleInput(byte[] buffer, int offset, int length)`
  Handle an input request by this task.
  `protected void`
  `handleOutput(String output)`
  Handles output by logging it with the INFO priority.
  `void`
  `init()`
  Called by the project to let the task initialize properly.
  `protected final boolean`
  `isInvalid()`
  Has this task been marked invalid?
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(String msg, Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `maybeConfigure()`
  Configures this task - if it hasn't been done already.
  `final void`
  `perform()`
  Performs this task if it's still valid, or gets a replacement version and performs that otherwise.
  `void`
  `reconfigure()`
  Force the task to be reconfigured from its RuntimeConfigurable.
  `void`
  `setOwningTarget(Target target)`
  Sets the target container of this task.
  `void`
  `setRuntimeConfigurableWrapper(RuntimeConfigurable wrapper)`
  Sets the wrapper to be used for runtime configuration.
  `void`
  `setTaskName(String name)`
  Sets the name to use in logging messages.
  `void`
  `setTaskType(String type)`
  Sets the name with which the task has been invoked.

  ### Methods inherited from class ProjectComponent

  `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### Exit

    public Exit()

- ## Method Details

  - ### setMessage

    public void setMessage(String value)
    A message giving further information on why the build exited.
    Parameters:
      `value` - message to output

  - ### setIf

    public void setIf(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(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(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(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(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