Antメモ

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


もどる