org.apache.tools.ant.taskdefs

Class SubAnt


public class SubAnt
extends Task

Calls a given target for all defined sub-builds. This is an extension of ant for bulk project execution.

Use with directories

subant can be used with directory sets to execute a build from different directories. 2 different options are offered

Since:
Ant1.6

Field Summary

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

description, location, target, taskName, taskType, wrapper

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

project

Method Summary

void
addDirset(DirSet set)
Adds a directory set to the implicit build path.
void
addFilelist(FileList list)
Adds an ordered file list to the implicit build path.
void
addFileset(FileSet set)
Adds a file set to the implicit build path.
void
addProperty(Property p)
Corresponds to <ant>'s nested <property> element.
void
addPropertyset(PropertySet ps)
Corresponds to <ant>'s nested <propertyset> element.
void
addReference(Ant.Reference r)
Corresponds to <ant>'s nested <reference> element.
Path
createBuildpath()
Creates a nested build path, and add it to the implicit build path.
Path.PathElement
createBuildpathElement()
Creates a nested <buildpathelement>, and add it to the implicit build path.
void
execute()
Runs the various sub-builds.
void
handleErrorFlush(String output)
Pass output sent to System.err to the new project.
void
handleErrorOutput(String output)
Pass output sent to System.err to the new project.
void
handleFlush(String output)
Pass output sent to System.out to the new project.
int
handleInput(byte[] buffer, int offset, int length)
Process input into the ant task
void
handleOutput(String output)
Pass output sent to System.out to the new project.
void
setAntfile(String antfile)
This method builds the file name to use in conjunction with directories.
void
setBuildpath(Path s)
Set the buildpath to be used to find sub-projects.
void
setBuildpathRef(Reference r)
Buildpath to use, by reference.
void
setFailonerror(boolean failOnError)
Sets whether to fail with a build exception on error, or go on.
void
setGenericAntfile(File afile)
This method builds a file path to use in conjunction with directories.
void
setInheritall(boolean b)
Corresponds to <ant>'s inheritall attribute.
void
setInheritrefs(boolean b)
Corresponds to <ant>'s inheritrefs attribute.
void
setOutput(String s)
Corresponds to <ant>'s output attribute.
void
setTarget(String target)
The target to call on the different sub-builds.
void
setVerbose(boolean on)
Enable/ disable verbose log messages showing when each sub-build path is entered/ exited.

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

execute, getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

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

getProject, log, log, setProject

Method Details

addDirset

public void addDirset(DirSet set)
Adds a directory set to the implicit build path.

Note that the directories will be added to the build path in no particular order, so if order is significant, one should use a file list instead!

Parameters:
set - the directory set to add.

addFilelist

public void addFilelist(FileList list)
Adds an ordered file list to the implicit build path.

Note that contrary to file and directory sets, file lists can reference non-existent files or directories!

Parameters:
list - the file list to add.

addFileset

public void addFileset(FileSet set)
Adds a file set to the implicit build path.

Note that the directories will be added to the build path in no particular order, so if order is significant, one should use a file list instead!

Parameters:
set - the file set to add.

addProperty

public void addProperty(Property p)
Corresponds to <ant>'s nested <property> element.
Parameters:
p - the property to pass on explicitly to the sub-build.

addPropertyset

public void addPropertyset(PropertySet ps)
Corresponds to <ant>'s nested <propertyset> element.
Parameters:
ps - the propertset

addReference

public void addReference(Ant.Reference r)
Corresponds to <ant>'s nested <reference> element.
Parameters:
r - the reference to pass on explicitly to the sub-build.

createBuildpath

public Path createBuildpath()
Creates a nested build path, and add it to the implicit build path.
Returns:
the newly created nested build path.

createBuildpathElement

public Path.PathElement createBuildpathElement()
Creates a nested <buildpathelement>, and add it to the implicit build path.
Returns:
the newly created nested build path element.

execute

public void execute()
Runs the various sub-builds.
Overrides:
execute in interface Task

handleErrorFlush

public void handleErrorFlush(String output)
Pass output sent to System.err to the new project.
Overrides:
handleErrorFlush in interface Task
Parameters:
output - The error output to log. Should not be null.
Since:
Ant 1.6.2

handleErrorOutput

public void handleErrorOutput(String output)
Pass output sent to System.err to the new project.
Overrides:
handleErrorOutput in interface Task
Parameters:
output - The error output to log. Should not be null.
Since:
Ant 1.6.2

handleFlush

public void handleFlush(String output)
Pass output sent to System.out to the new project.
Overrides:
handleFlush in interface Task
Parameters:
output - The output to log. Should not be null.
Since:
Ant 1.6.2

handleInput

public int handleInput(byte[] buffer,
                       int offset,
                       int length)
            throws IOException
Process input into the ant task
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.2

handleOutput

public void handleOutput(String output)
Pass output sent to System.out to the new project.
Overrides:
handleOutput in interface Task
Parameters:
output - a line of output
Since:
Ant 1.6.2

setAntfile

public void setAntfile(String antfile)
This method builds the file name to use in conjunction with directories.

Defaults to "build.xml". If genericantfile is set, this attribute is ignored.

Parameters:
antfile - the short build file name. Defaults to "build.xml".

setBuildpath

public void setBuildpath(Path s)
Set the buildpath to be used to find sub-projects.
Parameters:
s - an Ant Path object containing the buildpath.

setBuildpathRef

public void setBuildpathRef(Reference r)
Buildpath to use, by reference.
Parameters:
r - a reference to an Ant Path object containing the buildpath.

setFailonerror

public void setFailonerror(boolean failOnError)
Sets whether to fail with a build exception on error, or go on.
Parameters:
failOnError - the new value for this boolean flag.

setGenericAntfile

public void setGenericAntfile(File afile)
This method builds a file path to use in conjunction with directories.

Use genericantfile, in order to run the same build file with different basedirs. If this attribute is set, antfile is ignored.

Parameters:
afile - (path of the generic ant file, absolute or relative to project base directory)

setInheritall

public void setInheritall(boolean b)
Corresponds to <ant>'s inheritall attribute.
Parameters:
b - the new value for this boolean flag.

setInheritrefs

public void setInheritrefs(boolean b)
Corresponds to <ant>'s inheritrefs attribute.
Parameters:
b - the new value for this boolean flag.

setOutput

public void setOutput(String s)
Corresponds to <ant>'s output attribute.
Parameters:
s - the filename to write the output to.

setTarget

public void setTarget(String target)
The target to call on the different sub-builds. Set to "" to execute the default target.
Parameters:
target - the target


setVerbose

public void setVerbose(boolean on)
Enable/ disable verbose log messages showing when each sub-build path is entered/ exited. The default value is "false".
Parameters:
on - true to enable verbose mode, false otherwise (default).

Copyright B) 2000-2008 Apache Software Foundation. All Rights Reserved.