org.apache.tools.ant.taskdefs

Class Ant

Implemented Interfaces:
Cloneable

public class Ant
extends Task

Build a sub-project.
  <target name="foo" depends="init">
    <ant antfile="build.xml" target="bar" >
      <property name="property1" value="aaaaa" />
      <property name="foo" value="baz" />
    </ant>
  </target>

  <target name="bar" depends="init">
    <echo message="prop is ${property1} ${foo}" />
  </target>
 
Since:
Ant 1.1

Nested Class Summary

static class
Ant.Reference
Helper class that implements the nested <reference> element of <ant> and <antcall>.
static class
Ant.TargetElement
Helper class that implements the nested <target> element of <ant> and <antcall>.

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

Ant()
simple constructor
Ant(Task owner)
create a task bound to its creator

Method Summary

void
addConfiguredTarget(Ant.TargetElement t)
Add a target to this Ant invocation.
void
addPropertyset(PropertySet ps)
Add a set of properties to pass to the new project.
void
addReference(Ant.Reference ref)
Add a Reference element identifying a data type to carry over to the new project.
Property
createProperty()
Property to pass to the new project.
void
execute()
Do the execution.
protected Project
getNewProject()
void
handleErrorFlush(String errorOutputToFlush)
Handle error output.
void
handleErrorOutput(String errorOutputToHandle)
Handle error output.
void
handleFlush(String toFlush)
Handles output.
int
handleInput(byte[] buffer, int offset, int length)
Handles input.
void
handleOutput(String outputToHandle)
Handles output.
void
init()
Creates a Project instance for the project to call.
void
setAntfile(String antFile)
The build file to use.
void
setDir(File dir)
The directory to use as a base directory for the new Ant project.
void
setInheritAll(boolean value)
If true, pass all properties to the new Ant project.
void
setInheritRefs(boolean value)
If true, pass all references to the new Ant project.
void
setOutput(String outputFile)
Set the filename to write the output to.
void
setTarget(String targetToAdd)
The target of the new Ant project to execute.

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

bindToOwner, execute, 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, log, log, setDescription, setLocation, setProject

Constructor Details

Ant

public Ant()
simple constructor

Ant

public Ant(Task owner)
create a task bound to its creator
Parameters:
owner - owning task

Method Details

addConfiguredTarget

public void addConfiguredTarget(Ant.TargetElement t)
Add a target to this Ant invocation.
Parameters:
t - the TargetElement to add.
Since:
Ant 1.6.3

addPropertyset

public void addPropertyset(PropertySet ps)
Add a set of properties to pass to the new project.
Parameters:
ps - PropertySet to add.
Since:
Ant 1.6

addReference

public void addReference(Ant.Reference ref)
Add a Reference element identifying a data type to carry over to the new project.
Parameters:
ref - Reference to add.

createProperty

public Property createProperty()
Property to pass to the new project. The property is passed as a 'user property'.
Returns:
the created Property object.

execute

public void execute()
            throws BuildException
Do the execution.
Overrides:
execute in interface Task
Throws:
BuildException - if a target tries to call itself; probably also if a BuildException is thrown by the new project.

getNewProject

protected Project getNewProject()

handleErrorFlush

public void handleErrorFlush(String errorOutputToFlush)
Handle error output. Send it the the new project if is present, otherwise call the super class.
Overrides:
handleErrorFlush in interface Task
Parameters:
errorOutputToFlush - The string to output.
Since:
Ant 1.5.2

handleErrorOutput

public void handleErrorOutput(String errorOutputToHandle)
Handle error output. Send it the the new project if is present, otherwise call the super class.
Overrides:
handleErrorOutput in interface Task
Parameters:
errorOutputToHandle - The string to output.
Since:
Ant 1.5

handleFlush

public void handleFlush(String toFlush)
Handles output. Send it the the new project if is present, otherwise call the super class.
Overrides:
handleFlush in interface Task
Parameters:
toFlush - The string to output.
Since:
Ant 1.5.2

handleInput

public int handleInput(byte[] buffer,
                       int offset,
                       int length)
            throws IOException
Handles input. Deleate to the created project, if present, otherwise call the super class.
Overrides:
handleInput in interface Task
Parameters:
buffer - the buffer into which data is to be read.
offset - the offset into the buffer at which data is stored.
length - the amount of data to read.
Returns:
the number of bytes read.
Since:
Ant 1.6

handleOutput

public void handleOutput(String outputToHandle)
Handles output. Send it the the new project if is present, otherwise call the super class.
Overrides:
handleOutput in interface Task
Parameters:
outputToHandle - The string output to output.
Since:
Ant 1.5

init

public void init()
Creates a Project instance for the project to call.
Overrides:
init in interface Task

setAntfile

public void setAntfile(String antFile)
The build file to use. Defaults to "build.xml". This file is expected to be a filename relative to the dir attribute given.
Parameters:
antFile - the String build file name.

setDir

public void setDir(File dir)
The directory to use as a base directory for the new Ant project. Defaults to the current project's basedir, unless inheritall has been set to false, in which case it doesn't have a default value. This will override the basedir setting of the called project.
Parameters:
dir - new directory as File.

setInheritAll

public void setInheritAll(boolean value)
If true, pass all properties to the new Ant project. Defaults to true.
Parameters:
value - if true pass all properties to the new Ant project.

setInheritRefs

public void setInheritRefs(boolean value)
If true, pass all references to the new Ant project. Defaults to false.
Parameters:
value - if true, pass all references to the new Ant project

setOutput

public void setOutput(String outputFile)
Set the filename to write the output to. This is relative to the value of the dir attribute if it has been set or to the base directory of the current project otherwise.
Parameters:
outputFile - the name of the file to which the output should go.

setTarget

public void setTarget(String targetToAdd)
The target of the new Ant project to execute. Defaults to the new project's default target.
Parameters:
targetToAdd - the name of the target to invoke.