前回に引き続き、今回は「フェイズ実行時」に Groovy コードを実行する方法を見ていきます(一覧)。
今回以降、特に必要がない限り Groovy 1.7 ではなく、Groovy 1.6 (GMaven 1.2) の環境を前提とします。
pom.xml
実行したい Groovy コードは前回と同じく
println 'Hello, GMaven World !'
とし、Groovy コードを実行したいフェーズを generate-resources とします。
pom.xml の内容は以下のようにします:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.sample</groupId> <artifactId>sample</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.2</version> <executions> <execution> <phase>generate-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <source> println 'Hello, GMaven World !' </source> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
- Groovy コードを実行したいフェーズは、gmaven-plugin を設定する <plugin> 要素下の「executions/execution/phase」要素下に書きます。
- 実行したい Groovy コードは、上記の phase を設定した <execution> 要素下の「configuration/source」要素に書きます。
コマンド
Maven2 の実行方法は、通常のフェーズを指定した実行方法です。 上記の pom.xml では genreate-resources に処理を割り当てているので、
mvn generate-resources
とすれば、以下のような実行結果を得ます:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - org.sample:sample:jar:1.0-SNAPSHOT
[INFO] task-segment: [generate-resources]
[INFO] ------------------------------------------------------------------------
[INFO] [groovy:execute {execution: default}]
Hello, GMaven World !
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5 seconds
[INFO] Finished at: Tue Apr 13 05:53:09 JST 2010
[INFO] Final Memory: 12M/29M
[INFO] ------------------------------------------------------------------------
また、フェーズの実行は実際にはライフサイクルの実行で、指定したフェーズ以外にも(ライフサイクル中で)それ以前のフェーズも実行されるので、例えば
mvn compile
としても generate-resources フェーズは実行されます。
Apache Maven 2.0入門 Java・オープンソース・ビルドツール
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 8人 クリック: 141回
- この商品を含むブログ (97件) を見る
- 作者: Brett Porter,Maria Odea Ching
- 出版社/メーカー: Packt Publishing
- 発売日: 2009/09/30
- メディア: ペーパーバック
- クリック: 16回
- この商品を含むブログ (4件) を見る