今回はプラグインのインストール&使用とか(一覧)。
GroovyMojo クラス
GMaven プラグインで行う処理を実装するのは GroovyMojo のサブクラスです。 なので、GMaven プラグインには最低1つは以下のようなクラス(GroovyMojo クラス)を作成する必要があります。 GroovyMojo クラスの実装は概ね以下のような感じになります:
// Generated from archetype; please customize. package org.sample import org.codehaus.gmaven.mojo.GroovyMojo /** * Example Maven2 Groovy Mojo. * * @goal sayhi */ class HelloMojo extends GroovyMojo { /** * The hello message to display. * * @parameter expression="${message}" default-value="Hello World" */ String message void execute() { ... } }
作成する GroovyMojo クラスで重要なのは
くらいでしょうか。 加えて、
というのもよく使います。
GroovyMojo の実装
GroovyMojo の実装には、通常の Groovy のコーディングに加えて
- Mojo と共通する手法
- GMaven プロジェクトと共通する手法
を知っておく必要があります。
★Mojo と共通する手法
GroovyMojo は通常の (Abstract)Mojo と同じように、JavaDoc アノテーションによってプロジェクトの情報を得ることができます。 詳しくは以下を参照:
- 「Mojo Developer Cookbook」
- 「Implementing Maven Plugins#Mojo Parameters」
- Hirohiroの日記「Maven Plugin作成に役立つサイトまとめ」
- 「プラグインを作ろう!」
★GMaven プロジェクトと共通する手法
GMaven プロジェクトで Groovy コードを実行する際に見た、「定義済み変数、メソッド」も GroovyMojo 内で使用することができます。 詳しくは
などを参照してください。 「定義済み変数、メソッド」を一応再掲:
定義済み変数 | 説明 |
---|---|
project, pom | ビルドを実行している Maven2 プロジェクト |
session | 実行しているビルド・セッション |
settings | 実行しているビルドの設定 |
log | SLF4J ログ・インスタンス |
ant | Ant ビルダー |
fail() | MojoExecutionException を投げる |
プラグインのインストールと使用
自己完結のため、一応プラグインのインストール方法と使用方法を載せておきます。 これらは、通常の Mojo プロジェクトと同じです。
★プラグインをインストールする
プラグインのインストールはいつもの如く、コマンド
mvn install
を実行するだけです。
★他のプロジェクトからプラグインを使用する(1) :ゴール単独で使用する
ゴール単独で実行したい場合は、チョット長いですが
mvn groupId:artifactId:version:goal
という風にコマンドを実行します。 前回のサンプルでは(作成したゴールが「sayhi」の場合)
mvn org.sample:maven-hello-plugin:1.0:sayhi
を実行します。
★他のプロジェクトからプラグインを使用する(2) :他のフェーズにゴールを割り当てる
ゴールをどこかのフェーズに割り当てて、ライフサイクルの実行時に自動的にそのゴールが実行されるようにするには、pom.xml を修正する必要があります。 前回のサンプルで、「sayhi」ゴールを「validate」フェーズへ割り当てる場合、次のようになります:
<project> ... <build> <plugins> <plugin> <groupId>org.sample</groupId> <artifactId>maven-hello-plugin</artifactId> <version>1.0</version> <executions> <execution> <phase>validate</phase> <goals> <goal>sayhi</goal> </goals> </executions> </executions> </plugin> </plugins> </build> </project>
Maven2 は設定が大変!
- 作者: Dierk Konig,Andrew Glover,Paul King,Guillaume Laforge,Jon Skeet,杉浦孝,櫻井正樹,須江信洋,関谷和愛,佐野徹郎,寺沢尚史
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 146回
- この商品を含むブログ (121件) を見る
Apache Maven 2.0入門 Java・オープンソース・ビルドツール
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 8人 クリック: 141回
- この商品を含むブログ (97件) を見る