Oct 24, 2005

[Maven] Maven2 Plugin の作り方

Maven2 Plugin 開発手順

  1. org.apache.maven.plugin.AbstractMojo を継承したクラスを作成する。
  2. pom.xml を作成する。

ディレクトリ構成

PROJECT_HOME
  ├src
  │ ├main
  │ │ └java
  │ │   └jp
  │ │    └in_vitro
  │ │       └hoge_plugin
  │ │          └HogeMojo.java ・・・ plugin 本体
  │ └test
  │   └java
  └pom.xml ・・・ plugin ビルド用 pom

pom.xml

<model>
  <modelVersion>4.0.0</modelVersion>
  <groupId>in-vitro</groupId>
  <artifactId>maven-hoge-plugin</artifactId>
  <packaging>maven-plugin</packaging>
  <version>1.0.0</version>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-tools-api</artifactId>
      <version>2.0</version>
    </dependency>
  </dependencies>
</model>

HogeMojo.java

package jp.in_vitro.hoge_plugin;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;

/**
 * @goal goalname
 * @description do something
 */
public class HogeMojo extends AbstractMojo {

    /**
     * プロジェクトのベースディレクトリ。
     *
     * @parameter expression="${basedir}"
     * @required
     */
    private File basedir;

    /**
     * {@link HogeMojo HogeMojo} を生成する。
     */
    public HogeMojo() {
        super();
    }

    /**
     * このプラグインを実行する。
     * このメソッドは Maven から呼び出される。
     * 
     * @throws MojoExecutionException プラグイン実行中にエラーが発生した場合。
     */
    public void execute() throws MojoExecutionException {
      // do something.
    }
}

参考サイト

Guide to Developing Java Plugins
http://maven.apache.org/maven2/guides/plugin/guide-java-plugin-development.html
Maven 標準 Plugin のソースコード
http://svn.apache.org/viewcvs.cgi/maven/components/trunk/maven-plugins/

Posted in Maven | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |