org.apache.tools.ant.TaskContainer
タスクにインターフェイスを実装させ、独自のaddTask(Task task)
メソッドを記述します。
例 (「java」という名前のタスクのみを使用する必要があります):
private List<Task> _nestedTask = new ArrayList<>();
public void addTask(Task task) {
if (task.getTaskName().equals("java")) {
_nestedTasks.add(task);
}
else {
throw new BuildException("Support only nested <java> task.");
}
}
ビルド ファイルに複数のネストされた<java>
タスクを記述する場合は、それらを自分で処理する必要があることに注意してください。ネストされた<java>
タスクを実行するには、リストを繰り返し処理し、execute()
各タスクのメソッドを呼び出します。
アップデート:
ネストされたタスクを追加しても、自動的には実行されません。そのexecute()
メソッドがカスタム タスクで呼び出されない場合は実行されません。
だから...非常に基本的で簡単な例:
// your custom task's execute...
public void execute() {
//do something
for (Task task : _nestedTask) {
task.perform(); // here the nested task is executed.
}
//do something
}