Ant/Subant のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Ant/Subant へ行く。
- 1 (2010-12-07 (火) 01:38:22)
- 2 (2011-01-14 (金) 17:14:39)
- 3 (2013-10-30 (水) 21:50:40)
- 4 (2014-09-02 (火) 16:19:58)
- 5 (2018-10-30 (火) 16:49:03)
TITLE:Antで子フォルダのbuild.xmlを全部実行
Antで子フォルダのbuild.xmlを全部実行
編集者:Terai Atsuhiro
作成日:2007-02-16
更新日:2018-10-30 (火) 16:49:03
概要
Subantタスクを使って、一度に全部同じターゲットで子フォルダのbuild.xmlを実行します。
サンプルbuild.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="swingall" default="clean" basedir=".">
<target name="clean">
<subant target="clean">
<fileset dir="." includes="*/build.xml" />
</subant>
</target>
<target name="dist">
<subant target="dist">
<fileset dir="." includes="*/build.xml" />
</subant>
</target>
</project>
解説
このサイトのJava Swing Tipsでは、各Tipsごとにフォルダを作成してソースコードやbuild.xmlを管理しています。このため、ソースをxyzzyのgresregで一気に置換した場合(例えばLogger.global.infoをSystem.out.printlnに全部変換など)、一度に全部同じターゲットを実行できるように、サンプルのようなbuild.xmlを作成しています。 約180ほどTipsがあって、配布用のファイル(jar、jnlp、src.zipなど)をすべて生成するには、5分ぐらいかかります。
各targetをコピーするのが面倒な場合、以下のようにbuild.xmlを変更して、subantタスクに渡すターゲット名をプロパティにし-Dオプションで渡す方法もあります。
<?xml version="1.0" encoding="UTF-8"?>
<project name="swingall" default="all" basedir=".">
<target name="all">
<subant target="${st}">
<fileset dir="." includes="*/build.xml" />
</subant>
</target>
</project>
子ディレクトリにあるbuild.xmlのcompileターゲットをすべて実行することができます。
ant -Dst=compile