はじめてのAnt


Makeしかビルドツールを使わなかった私が今更ながらAntを使ってみました。

Antとは?

AntはXMLで記述するビルドツールです。

Antの習得は数時間でできると思いますが、
さらに短縮できるようにこの記事を書きました。
必要な部分だけ簡潔に説明したいと思います。

Antのセットアップ

まず始めにAntのインストールを行います。
Antが既にインストールされている場合は飛ばしてください。

https://ant.apache.org/bindownload.cgi
から最新版のAntパッケージをダウンロードします。

この記事を書いているときはapache-ant-1.9.6-bin.zipが最新です。

ant_setup1

ANT_HOMEの環境変数を設定します。

ant_setup2

Pathの環境変数へ%ANT_HOME%bin;を追加します。

ant_setup3

JAVA_HOMEの環境変数がない場合は追加します。

ant_setup4

コマンドラインからantの実行を確認します。

ant_setup5

antが実行できたらセットアップは終了です。

Antの基本的なこと

Antはビルドルールをbuild.xmlへ記述します。
重要なタグは project, property, target の3種類です。

projectタグ

projectはプロジェクト情報を記述するトップレベルのタグです。
projectの中にpropertyとtargetを内包するような形になります。

デフォルトターゲット名はantコマンドのターゲット名を省略した場合に使われるターゲット名です。

[ターゲット名]がビルドされます

デフォルトターゲット名がビルドされます

propertyタグ

propertyは定数です。

参照する場合は${version}のように参照します。

targetタグ

targetはビルドルールを記述します。

dependsで依存ターゲットを指定すると先に依存するターゲットを実行してくれます。

その他の知っておくと便利なこと

・コメント

・出力

以下のようにコマンドラインへ出力されます

Antのコーディング

コーディングは実践形式で説明したいと思います。

最終目的

Javaプラットフォーム共通用のライブラリとAndroid専用のライブラリの2種類のJARファイルを作る。

処理の流れ

1. destフォルダにプラットフォーム用のフォルダを作りソースコードをコピーしてくる
2. 各々のプラットフォームに合わせたオプションでコンパイルする
3. ビルドしたフォルダをJARアーカイブにする

1.はpreprocess、2.はcompile、3.はjarというターゲット名にします。

注意点

– AndroidはJava1.8に対応していないので1.7でコンパイルする必要がある
– 共通用ライブラリはアンドロイド専用パッケージを削除する

フォルダ構成はこんな感じ

以上を踏まえて実際にコーディングして行きましょう。

XML宣言の追加

最初の1行目はお約束のXML宣言をします。
エンコーディングはご自由に。

プロジェクトの作成

デフォルトのターゲット名はJARファイルを複数作るので”jars”にしました。
build.xmlと同階層で作業するのでベースディレクトリは”.”にします。

プロパティの作成

アンドロイド用ビルドでandroid.jarが必要になるのでそのパスと、
Java1.7でビルドするのでjre7ランタイムへのパスを設定します。
なお、ここのプロパティはユーザー設定に依存するので別に分けておきました。

クリーンルール

生成物を削除するルールです。
今回は${dest}フォルダに生成物を全て作るようにしているのでフォルダを削除するだけです。

コマンドラインでの使い方

ビルドルール

実際にビルドするルールを作成します。

ターゲット名 説明
common.jar 共通用ライブラリJARファイル生成ルール, common.compileに依存
common.compile 共通用ライブラリコンパイルルール, common.preprocessに依存
common.preprocess 共通用ライブラリ前処理ルール
android.jar アンドロイド用ライブラリJARファイル生成ルール, android.compileに依存
android.compile アンドロイド用ライブラリコンパイルルール, android.preprocessに依存
android.preprocess アンドロイド用ライブラリ前処理ルール

最後にデフォルトターゲットのjarsが共通ライブラリJARファイルターゲット(common.jar)
とアンドロイド用JARファイル生成ターゲット(android.jar)に依存するようにします。

以上でコマンドラインからantと打つだけでJARファイルを生成してくれるようになります。

javacタグの警告について

includeantruntimeを設定しないと警告が出ます。

アンドロイド用にjava1.7でビルドする際、bootclasspathを設定しないと警告がでます。

JDK1.8しかインストールしていない場合は面倒ですがJDK1.7をインストールしてrt.jarのパスを設定しましょう。

今回作成したAnt全コード

何気にGist使うのも初めて・・・。

Antの印象はMakefileよりも簡潔に書けて分かり易い感じです。
今回作ったbuild.xmlにGWT用のターゲットも追加してみたいと思います。

以上、蟻のようにコツコツ働きましょう!?

スポンサードリンク


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です