Package org.apache.tools.ant.taskdefs
Class Ant
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.Ant
- All Implemented Interfaces:
java.lang.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
Nested Classes Modifier and Type Class Description 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
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description 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 java.lang.String
getDefaultBuildFile()
Get the default build file name to use when launching the task.protected Project
getNewProject()
Get the (sub)-Project instance currently in use.void
handleErrorFlush(java.lang.String errorOutputToFlush)
Handle error output.void
handleErrorOutput(java.lang.String errorOutputToHandle)
Handle error output.void
handleFlush(java.lang.String toFlush)
Handles output.int
handleInput(byte[] buffer, int offset, int length)
Handles input.void
handleOutput(java.lang.String outputToHandle)
Handles output.void
init()
Creates a Project instance for the project to call.void
setAntfile(java.lang.String antFile)
The build file to use.void
setDir(java.io.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(java.lang.String outputFile)
Set the filename to write the output to.void
setTarget(java.lang.String targetToAdd)
The target of the new Ant project to execute.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.Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, 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
-
Constructor Details
-
Method Details
-
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.- Parameters:
b
- boolean- Since:
- Ant 1.8.0
-
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
-
init
public void init()Creates a Project instance for the project to call. -
handleOutput
public void handleOutput(java.lang.String outputToHandle)Handles output. Send it the the new project if is present, otherwise call the super class.- Overrides:
handleOutput
in classTask
- Parameters:
outputToHandle
- The string output to output.- Since:
- Ant 1.5
- See Also:
Task.handleOutput(String)
-
handleInput
public int handleInput(byte[] buffer, int offset, int length) throws java.io.IOExceptionHandles input. Delegate to the created project, if present, otherwise call the super class.- Overrides:
handleInput
in classTask
- 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:
java.io.IOException
- if the data cannot be read.- Since:
- Ant 1.6
- See Also:
Task.handleInput(byte[], int, int)
-
handleFlush
public void handleFlush(java.lang.String toFlush)Handles output. Send it the the new project if is present, otherwise call the super class.- Overrides:
handleFlush
in classTask
- Parameters:
toFlush
- The string to output.- Since:
- Ant 1.5.2
- See Also:
Task.handleFlush(String)
-
handleErrorOutput
public void handleErrorOutput(java.lang.String errorOutputToHandle)Handle error output. Send it the the new project if is present, otherwise call the super class.- Overrides:
handleErrorOutput
in classTask
- Parameters:
errorOutputToHandle
- The string to output.- Since:
- Ant 1.5
- See Also:
Task.handleErrorOutput(String)
-
handleErrorFlush
public void handleErrorFlush(java.lang.String errorOutputToFlush)Handle error output. Send it the the new project if is present, otherwise call the super class.- Overrides:
handleErrorFlush
in classTask
- Parameters:
errorOutputToFlush
- The string to output.- Since:
- Ant 1.5.2
- See Also:
Task.handleErrorFlush(String)
-
execute
Do the execution.- Overrides:
execute
in classTask
- Throws:
BuildException
- if a target tries to call itself; probably also if a BuildException is thrown by the new project.
-
getDefaultBuildFile
protected java.lang.String getDefaultBuildFile()Get the default build file name to use when launching the task.This function may be overridden by providers of custom ProjectHelper so they can easily implement their sublauncher.
- Returns:
- the name of the default file
- Since:
- Ant 1.8.0
-
setDir
public void setDir(java.io.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 asFile
.
-
setAntfile
public void setAntfile(java.lang.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
- theString
build file name.
-
setTarget
public void setTarget(java.lang.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.
-
setOutput
public void setOutput(java.lang.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.
-
createProperty
Property to pass to the new project. The property is passed as a 'user property'.- Returns:
- the created
Property
object.
-
addReference
Add a Reference element identifying a data type to carry over to the new project.- Parameters:
ref
-Reference
to add.
-
addConfiguredTarget
Add a target to this Ant invocation.- Parameters:
t
- theTargetElement
to add.- Since:
- Ant 1.6.3
-
addPropertyset
Add a set of properties to pass to the new project.- Parameters:
ps
-PropertySet
to add.- Since:
- Ant 1.6
-
getNewProject
Get the (sub)-Project instance currently in use.- Returns:
- Project
- Since:
- Ant 1.7
-