トップQs
タイムライン
チャット
視点

Apache Ant

オペレーティングシステム (OS) など特定の環境に依存しにくいビルドツール ウィキペディアから

Apache Ant
Remove ads

Apache Ant(アパッチ アント)は、ビルド自動化のためのソフトウェアである。

概要 作者, 開発元 ...
Remove ads

GNU makeJava版ともいえるものであり、オペレーティングシステム (OS) など特定の環境に依存しにくいビルドツールである。XML文書でビルド(ソフトウェア構築)のルールを記述することが特徴である[2]統合開発環境EclipseにはAntプラグインが標準で内蔵されている。元々 Apache Tomcat をビルドするために開発されたものである[3]

Apache Antは、Apacheソフトウェア財団によってApache Licenseの下で公開されているFOSSである。

Antはタスクと呼ばれる何種類ものXML要素をビルドファイル (デフォルトではbuild.xml) 上に記述してビルドのルールを作る。このタスクは、Antのプラグインとして提供されているものを外部から採り入れることで、追加することもできる。また、このタスクをAntのアプリケーションプログラミングインタフェース (API) に従ってJavaで記述することにより、自作することもできる。

また近年[いつ?]では、Javaのみならず、IKVM.NETプロジェクトによりAnt task for IKVMCとしてMono/.NET Frameworkでの利用も促進されている。

Remove ads

歴史

Ant(「Another Neat Tool」の略[4])は、 ジェームズ・ダンカン・デイビッドソン(James Duncan Davidson)によって、サン・マイクロシステムズリファレンスJSPおよびサーブレットエンジン(後のApache Tomcat)をオープンソースとして公開する準備の際に考案された。Solaris上でのビルドにはプロプライエタリソフトウェア版のMakeが使用されていたが、オープンソースの世界ではTomcatをどのプラットフォームでビルドするかを制御する手段が存在しなかった。そのため、AntはXML形式の「ビルドファイル」に記述された指示に従ってTomcatをビルドするための単純なプラットフォーム非依存ツールとして作成された。Ant(バージョン1.1)は2000年7月19日に単独の製品として正式にリリースされた。

Antバージョン2に向けて複数の提案がなされた。たとえば、ジェームズ・ダンカン・デイビッドソンによるAntEater、ピーター・ドナルドによるMyrmidon、コナー・マクニールによるMutantなどであるが、いずれも開発者コミュニティに広く受け入れられるには至らなかった[5]

2002年当時、AntはほとんどのJava開発プロジェクトで使用されていたビルドツールであった[6]。たとえば、多くのオープンソースJava開発者が配布物にbuild.xmlファイルを含めていた[要出典]。AntはビルドプロセスとJUnitテストの統合を容易にしたため、開発者がテスト駆動開発エクストリーム・プログラミングを採用することを可能にした。

2004年、Apacheはこれと類似の目的を持つ新しいツールであるMavenを作成した。

Gradleは、2008年に作成された類似ソフトウェアであり、XMLではなくGroovy(およびその他の言語)を使用するという点で異なる。

Remove ads

拡張機能

WOProject-Ant[7]は、Ant用に記述されたタスク拡張の一例である。これらの拡張機能は、その.jarファイルをAntのlibディレクトリにコピーすることでインストールされる。この作業が完了すれば、これらのタスク拡張は通常のbuild.xmlファイル内で直接呼び出すことが可能となる。WOProjectは、WebObjects開発者がAppleXcodeを使う代わりにAntを用いてフレームワークやアプリケーションを構築することを可能にする。

Antcontrib[8]は、条件文やプロパティに対する操作といったタスクのほか、有用な各種タスクを提供している[9][10]

Ant-contrib.unkrig.de[11]は、ネットワーク、Swingユーザインタフェース、JSON処理などのためのタスクや型を実装している。

そのほかにも、Perforce.NET FrameworkEJB、ファイルシステム操作用のタスク拡張が存在する[12]

Remove ads

主なAntタスク

javac
Javaソースコードコンパイルする。
javadoc
JavaソースコードからJavadocドキュメント(Java APIドキュメント)を生成する。
java
Javaプログラムを実行する。
junit
テストフレームワークJUnitを使ってJavaプログラムをテストする。
junitreport
junitタスクで出力した結果ファイルを用いてHTMLフォーマットなどに対応したレポートを生成する。
copy
ファイルをコピーする。
delete
ディレクトリやファイルなどを削除する。
mkdir
ディレクトリを作成する。
ftp
FTP接続を開始して、ファイルのアップロードダウンロードなどを可能にする。
scp
SCPSFTP接続を開始して、ファイルのアップロード、ダウンロードなどを可能にする。
cvs
CVS接続を開始して、CVSリポジトリからのチェックアウト、コミットなどを可能にする。
genkey
署名つきJARファイルを作成するために必要な証明書を生成する。
signjar
JARファイルに署名する。
native2ascii
Javaソースコードなどに含まれるマルチバイト文字の文字列部分をJDKに付属している変換ツールを使ってASCIIコードに変換する。
setproxy
ネットワークに接続するタスクを実行する際に、プロキシサーバのアドレスを設定する。
tstamp
タイムスタンプを更新しAntで使われている変数 DSTAMP、TSTAMP を更新する。
zip
指定したディレクトリやファイルをZIP形式で圧縮アーカイブする。
echo
コンソール(コマンドライン環境)に文字列を出力する。
splash
実行時に指定した時間だけスプラッシュを表示する。画像を指定することもできる。
buildnumber
ビルドナンバーを更新する。デフォルトでは同じディレクトリにbuild.numerという名前のファイルが自動生成され、そのファイルにビルドナンバーが記録される。
ant
別のAntビルドファイルにあるタスクを読み込んで実行する。

脚注

Loading content...

参考文献

Loading content...

関連項目

外部リンク

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads