「Ant」独自タスクの作成

Ant の独自タスクを作成してみたので、その時のメモ。

[ 環境情報 ]
Apache Ant 1.8.4

ドキュメントは、以下にあるのでこいつを参考に ( 簡単なサンプルがついているのでメモを残すほどでもないが、まぁパッと取り出せる自分用のメモを目的としてというところで )。

・Writing Your Own Task
http://ant.apache.org/manual/develop.html


引数に与えられた内容をコンソールに表示するだけの簡単なタスクを作成する。

1. Task クラスを拡張したクラスを作成する

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;

public class SampleTask {
	private String arg1;
	private int arg2;
	
	public void execute() throws BuildException {
		System.out.println("arg1 : " + arg1);
		System.out.println("arg2 : " + arg2);
    }
	
	public void setArg1(String arg1) {
		this.arg1 = arg1;
	}
	
	public void setArg2(int arg2) {
		this.arg2 = arg2;
	}
}

コンパイルする

javac -cp .;.\ant.jar SampleTask.java

※ ant.jar をクラスパスに通す感じで。


2. build.xml を作成する

<?xml version="1.0" encoding="Shift-JIS"?>

<project name="SampleProject" default="main" basedir=".">

  <taskdef name="mytask" classname="SampleTask"/>
  <target name="main">
    <mytask arg1="hoge" arg2="1"/>
  </target>

</project>


3. 実行する

ant -buildfile build.xml

実行結果

Buildfile: C:\Users\atsushi\Desktop\AntSample\build.xml

main:
   [mytask] arg1 : hoge
   [mytask] arg2 : 1

BUILD SUCCESSFUL
Total time: 0 seconds

できてる。以外にあっさり ( 内容が簡単すぎるのは否めませんが )。

以上です。