org.apache.tools.ant.taskdefs

Class Ant

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

UNKNOWN: category="control"

Nested Class Summary
static classAnt.Reference
Helper class that implements the nested <reference> element of <ant> and <antcall>.
static classAnt.TargetElement
Helper class that implements the nested <target> element of <ant> and <antcall>.
Constructor Summary
Ant()
simple constructor
Ant(Task owner)
create a task bound to its creator
Method Summary
voidaddConfiguredTarget(Ant.TargetElement t)
Add a target to this Ant invocation.
voidaddPropertyset(PropertySet ps)
Add a set of properties to pass to the new project.
voidaddReference(Ant.Reference ref)
Add a Reference element identifying a data type to carry over to the new project.
PropertycreateProperty()
Property to pass to the new project.
voidexecute()
Do the execution.
protected StringgetDefaultBuildFile()
Get the default build file name to use when launching the task.
protected ProjectgetNewProject()
Get the (sub)-Project instance currently in use.
voidhandleErrorFlush(String errorOutputToFlush)
Handle error output.
voidhandleErrorOutput(String errorOutputToHandle)
Handle error output.
voidhandleFlush(String toFlush)
Handles output.
inthandleInput(byte[] buffer, int offset, int length)
Handles input.
voidhandleOutput(String outputToHandle)
Handles output.
voidinit()
Creates a Project instance for the project to call.
voidsetAntfile(String antFile)
The build file to use.
voidsetDir(File dir)
The directory to use as a base directory for the new Ant project.
voidsetInheritAll(boolean value)
If true, pass all properties to the new Ant project.
voidsetInheritRefs(boolean value)
If true, pass all references to the new Ant project.
voidsetOutput(String outputFile)
Set the filename to write the output to.
voidsetTarget(String targetToAdd)
The target of the new Ant project to execute.
voidsetUseNativeBasedir(boolean b)
Whether the basedir of the new project should be the same one as it would be when running the build file directly - independent of dir and/or inheritAll settings.

Constructor Detail

Ant

public Ant()
simple constructor

Ant

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

Parameters: owner owning task

Method Detail

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()
Do the execution.

Throws: BuildException if a target tries to call itself; probably also if a BuildException is thrown by the new project.

getDefaultBuildFile

protected String getDefaultBuildFile()
Get the default build file name to use when launching the task.

This function may be overrided by providers of custom ProjectHelper so they can implement easily their sub launcher.

Returns: the name of the default file

Since: Ant 1.8.0

getNewProject

protected Project getNewProject()
Get the (sub)-Project instance currently in use.

Returns: Project

Since: Ant 1.7

handleErrorFlush

public void handleErrorFlush(String errorOutputToFlush)
Handle error output. Send it the the new project if is present, otherwise call the super class.

Parameters: errorOutputToFlush The string to output.

Since: Ant 1.5.2

See Also: handleErrorFlush

handleErrorOutput

public void handleErrorOutput(String errorOutputToHandle)
Handle error output. Send it the the new project if is present, otherwise call the super class.

Parameters: errorOutputToHandle The string to output.

Since: Ant 1.5

See Also: handleErrorOutput

handleFlush

public void handleFlush(String toFlush)
Handles output. Send it the the new project if is present, otherwise call the super class.

Parameters: toFlush The string to output.

Since: Ant 1.5.2

See Also: handleFlush

handleInput

public int handleInput(byte[] buffer, int offset, int length)
Handles input. Deleate to the created project, if present, otherwise call the super class.

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.

Throws: IOException if the data cannot be read.

Since: Ant 1.6

See Also: (byte[], int, int)

handleOutput

public void handleOutput(String outputToHandle)
Handles output. Send it the the new project if is present, otherwise call the super class.

Parameters: outputToHandle The string output to output.

Since: Ant 1.5

See Also: handleOutput

init

public void init()
Creates a Project instance for the project to call.

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.

setUseNativeBasedir

public void setUseNativeBasedir(boolean b)
Whether the basedir of the new project should be the same one as it would be when running the build file directly - independent of dir and/or inheritAll settings.

Since: Ant 1.8.0