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内部のステップ実行も可能でした。