org.apache.tools.ant.taskdefs
Class Exit

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by 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
Exit()
           
 
Method Summary
 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.String c)
          Only fail if a property of the given name exists in the current project.
 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.String c)
          Only fail if a property of the given name does not exist in the current project.
 
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.String c)
Only fail if a property of the given name exists in the current project.

Parameters:
c - property name

setUnless

public void setUnless(java.lang.String c)
Only fail if a property of the given name does not exist in the current project.

Parameters:
c - property name

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