あなたのタスクが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>
タスクを実行するには、リストを反復し、各タスクに対してメソッドを呼び出します。
更新:
ネストされたタスクが追加されると、自動的には実行されません。カスタムタスクでメソッドが呼び出されない場合でも実行されません。だから、
...非常に基本的でシンプルな例:
// your custom task's execute...
public void execute() {
//do something
for (Task task : _nestedTask) {
task.perform(); // here the nested task is executed.
}
//do something
}
そして、一つのこと:より多くの注意を引くことがあります...カスタムtask'または同様にネストされたタスクを実行します 'このQ&Aのタイトルを変更。 – coolcfan
ありがとうcoolcfan! – Neel