org.apache.tools.ant.taskdefs
Class CallTarget

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.CallTarget
All Implemented Interfaces:
java.lang.Cloneable

public class CallTarget
extends Task

Call another target in the same project.

    <target name="foo">
      <antcall target="bar">
        <param name="property1" value="aaaaa" />
        <param name="foo" value="baz" />
       </antcall>
    </target>

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

This only works as expected if neither property1 nor foo are defined in the project itself.

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
CallTarget()
           
 
Method Summary
 void addConfiguredTarget(Ant.TargetElement t)
          Add a target to the list of targets to invoke.
 void addPropertyset(PropertySet ps)
          Set of properties to pass to the new project.
 void addReference(Ant.Reference r)
          Reference element identifying a data type to carry over to the invoked target.
 Property createParam()
          Create a new Property to pass to the invoked target(s).
 void execute()
          Delegate the work to the ant task instance, after setting it up.
 void handleErrorFlush(java.lang.String output)
          Handle error output.
 void handleErrorOutput(java.lang.String output)
          Handle error output.
 void handleFlush(java.lang.String output)
          Handles output.
 int handleInput(byte[] buffer, int offset, int length)
          Handles input.
 void handleOutput(java.lang.String output)
          Handles output.
 void init()
          Initialize this task by creating new instance of the ant task and configuring it by calling its own init method.
 void setInheritAll(boolean inherit)
          If true, pass all properties to the new Ant project.
 void setInheritRefs(boolean inheritRefs)
          If true, pass all references to the new Ant project.
 void setTarget(java.lang.String target)
          Set target to execute.
 
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
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CallTarget

public CallTarget()
Method Detail

setInheritAll

public void setInheritAll(boolean inherit)
If true, pass all properties to the new Ant project. Defaults to true.

Parameters:
inherit - boolean flag.

setInheritRefs

public void setInheritRefs(boolean inheritRefs)
If true, pass all references to the new Ant project. Defaults to false.

Parameters:
inheritRefs - boolean flag.

init

public void init()
Initialize this task by creating new instance of the ant task and configuring it by calling its own init method.

Overrides:
init in class Task

execute

public void execute()
             throws BuildException
Delegate the work to the ant task instance, after setting it up.

Overrides:
execute in class Task
Throws:
BuildException - on validation failure or if the target didn't execute.

createParam

public Property createParam()
Create a new Property to pass to the invoked target(s).

Returns:
a Property object.

addReference

public void addReference(Ant.Reference r)
Reference element identifying a data type to carry over to the invoked target.

Parameters:
r - the specified Ant.Reference.
Since:
Ant 1.5

addPropertyset

public void addPropertyset(PropertySet ps)
Set of properties to pass to the new project.

Parameters:
ps - the PropertySet to pass.
Since:
Ant 1.6

setTarget

public void setTarget(java.lang.String target)
Set target to execute.

Parameters:
target - the name of the target to execute.

addConfiguredTarget

public void addConfiguredTarget(Ant.TargetElement t)
Add a target to the list of targets to invoke.

Parameters:
t - Ant.TargetElement representing the target.
Since:
Ant 1.6.3

handleOutput

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

Overrides:
handleOutput in class Task
Parameters:
output - 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.IOException
Handles input. Deleate to the created project, if present, otherwise call the super class.

Overrides:
handleInput in class 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.
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 output)
Handles output. Send it the the new project if is present, otherwise call the super class.

Overrides:
handleFlush in class Task
Parameters:
output - The string to output.
Since:
Ant 1.5.2
See Also:
Task.handleFlush(String)

handleErrorOutput

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

Overrides:
handleErrorOutput in class Task
Parameters:
output - The string to output.
Since:
Ant 1.5
See Also:
Task.handleErrorOutput(String)

handleErrorFlush

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

Overrides:
handleErrorFlush in class Task
Parameters:
output - The string to output.
Since:
Ant 1.5.2
See Also:
Task.handleErrorFlush(String)