【Ant】 build.xml の書き方 ~基本編~

build.xmlに関する基礎知識

 * 以下の関連記事を参照のこと
http://blogs.yahoo.co.jp/dk521123/33838551.html

構成要素

大きく分けて、以下の4要素がある。

 [1] project  : 「build.xml」ファイルのトップレベルの要素
 [2] target   : task の集まりをまとめた要素
 [3] task     : 実行する具体的な処理
 [4] property : build.xml 内で使用される定数

build.xml の最小構成例

<?xml version="1.0" encoding="UTF-8" ?>
<project name="sample" basedir=".">
  <!-- ここに記述 -->
</project>

project

`属性`説明備考
nameプロジェクト名
defaultデフォルトで実行するタスク名
basedirパス指定のベースになるディレクト

サンプル

<?xml version="1.0" encoding="UTF-8" ?>
<project name="sample" basedir="." default="target1">
  <target name="target1">
    <echo message="Hello World!" level="info" />
  </target>
</project>

target

`属性`説明備考
nameターゲット名
depends依存しているターゲット名
ifターゲットを実行するにあたって設定されていなければならないプロパティ名
unlessターゲットを実行するにあたって設定されていてはダメなプロパティ名
descriptionターゲットの説明(コメント的な)以下「補足:用語について」を参照

サンプル

<?xml version="1.0" encoding="UTF-8" ?>
<project name="sample" basedir="." default="target0">
  <target name="target0" depends="target1">
    <echo message="From target0" level="info" />
  </target>
  <target name="target1">
    <echo message="Hello World!" level="info" />
  </target>
</project>

補足:用語について

 * 公開ターゲット : ターゲットにdescriptionがついている場合
 * 内部ターゲット : ターゲットにdescriptionがしていない場合または内部ターゲットの先頭にハイフンを追加
http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/using.html

task

 * 多数があるが、代表的なものは以下。

基本系・ファイル操作系タグ

`タグ名`説明備考
echo標準出力デバッグなどにも使える
mkdirディレクトリ作成
copyコピー
deleteディレクトリ/ファイル削除
filesetファイルの指定

Javaコマンド系タグ

`タグ名`説明備考
javacコンパイルを行う
javaクラス実行
jarjarコマンド実行
javadocjavadoc実行
* 詳細は以下の関連記事を参照のこと
http://blogs.yahoo.co.jp/dk521123/33891786.html

property

`属性`説明備考
name定数名
value定数値使用する際は「${【定数名】}」で使う
locationディレクトリ名やファイル名※パスを扱う(特に相対パス)には、使用必須

サンプル

<?xml version="1.0" encoding="UTF-8" ?>
<project name="sample" basedir="." default="target0">
  <target name="target0" depends="target1">
    <echo message="Hello World, ${name1}" level="info" />
  </target>
  <target name="target1">
    <property name="name1" value="Mike" />
  </target>
</project>


関連記事

Ant

ビルドツール Ant ~初級編~

http://blogs.yahoo.co.jp/dk521123/33838551.html

build.xml の書き方 ~基本編~

http://blogs.yahoo.co.jp/dk521123/33891540.html

build.xml の書き方 ~task編~

http://blogs.yahoo.co.jp/dk521123/33891786.html