Ant Task
See the Ant manual for more elaborate examples and explanations.
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Target;
import org.apache.tools.ant.Task;
public class MyTask extends Task {
private String myArg;
private Project proj;
private Target target;
// called to initialize the task
@Override
public void init() throws BuildException {
proj = getProject();
target = getOwningTarget();
proj.log("MyTask init");
}
// called to execute the task
@Override
public void execute() throws BuildException {
log("target name: " + target.getName());
log("value of property 'name' = " + proj.getProperty("name"));
log("task name: " + getTaskName());
log("value of task parameter 'myArg' = " + myArg);
}
// called to set task parameters; in this case "myArg"
public void setMyArg (String _myArg) {
this.myArg = _myArg;
}
}
It would be invoked like this:
<property name="name" value="myPropertyValue" />
<taskdef name="MyTaskName" classname="MyTask" />
<target name="myTarget">
<echo message="before MyTask"/>
<MyTaskName myArg="myArgValue" />
<echo message="after MyTask"/>
</target>
CodeSnippets