2002/11/21 作成
ここでは独自タスクの作成に挑戦してみます。
Myタスクの作成
Antでオリジナルのタスクを作ってみよう。
ということで、作ったのがコレ。HelloTask。 まずはマニュアルのサンプルまんまです。
package hoge;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
public class HelloTask extends Task {
private String msg;
public void execute() throws BuildException {
System.out.println(msg);
}
public void setMessage(String msg) {
this.msg = msg;
}
}
タスクに記述した属性をsetXXXでセットして、 execute()で実行処理を書くみたい。
build.xmlには、クラスパスに上のクラスを通して、<taskdef>を記述することで使うことができます。
<?xml version="1.0" encoding="Shift_JIS"?>
<project name="hoge" default="main" basedir=".">
<taskdef name="hello" classname="hoge.HelloTask"/>
<target name="main">
<hello message="Hello!!!"/>
</target>
</project>
Javaプログラムから、 org.apache.tools.ant.Main を呼ぶことで、実行可能です。 デバッグ実行でブレークもかけれます。
Antのjarにソースをアタッチすれば、 Ant内部のステップ実行も可能でした。