Antスクリプト内でGroovyを利用する
はじめに
GroovyではAntBuilderやGantといったAntを利用する上でとても強力な拡張が存在しますが、もうちょっとシンプルにAntスクリプト内からGroovyを利用する方法もあるのでそのご紹介です。
使い方
Seeing is believing!! ということで、サンプルをば。
(動作確認 Groovy Version: 1.7.2 JVM: 1.6.0_20, Apache Ant version 1.7.1 compiled on June 27 2008)
taskdefにてgroovyタスクを宣言します。classpath属性でgroovy-all-*.jarへのフルパスを指定して下さい。*1ちなみに、<![CDATA[ ... ]]> のようなCDATAセクションで囲んでいるのは、Groovyスクリプト内で "<" などのようにxml文字列をエスケープする煩わしさ回避のためです。
実行結果
>ant -f ant-with-groovy.xml
Buildfile: ant-with-groovy.xmltest:
[groovy] Groovy script in Ant script.BUILD SUCCESSFUL
Total time: xx seconds
ちゃんとprintlnできてる!すごい。
これは便利ですね!
このようにgroovyタスクを宣言することで、Antが苦手としているループ処理や条件分岐などを華麗に記述することが可能になります。通常ですと、AntContribなどを用いたり、macrodefで頑張ったりするところですよね。
もうちょっと気の利いたサンプル
連番フォルダを100個作成する
連続でフォルダにコピーする
条件分岐
参考書籍
[GinA P401〜403]
- 作者: Dierk Konig,Andrew Glover,Paul King,Guillaume Laforge,Jon Skeet,杉浦孝,櫻井正樹,須江信洋,関谷和愛,佐野徹郎,寺沢尚史
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 106回
- この商品を含むブログ (113件) を見る
関連リンク
Groovy - Using Ant Libraries with AntBuilder
Gant - Home
Ant-Contrib Tasks
Ant「antcallタスク」メモ(Hishidama's ant-antcall Memo)
*1:標準インストール時は${GROOVY_HOME}/embeddable/groovy-all-*.jar にあります。Antスクリプト配布時はgroovy-all-*.jarも一緒に配布するとよいでしょう。