May 30, 2007
Maven2 の assembly プラグインにチャレンジ
maven-assembly-plugin とは
いわゆる「出荷用アーカイブの作成」に近いイメージのプラグイン。 特に出荷用というわけではないのだけれど、プロジェクト内の好きなファイルをアーカイビングすることが出来る。 アーカイブの形式も zip、tar.gz、tar.bz2、jar など様々な形式に対応している。 今回は、開発環境(要するにソース一式)を他の開発者にそのままアーカイビングして渡すことをイメージして遊んでみた。
- Maven Assembly Plugin
- http://maven.apache.org/plugins/maven-assembly-plugin/
- assembly:assembly
- http://maven.apache.org/plugins/maven-assembly-plugin/assembly-mojo.html
- Guide to creating assemblies
- http://maven.apache.org/guides/mini/guide-assemblies.html
- ソースコード
- https://svn.apache.org/repos/asf/maven/plugins/tags/maven-assembly-plugin-2.2-beta-1/
pom.xml の設定
<project>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptor>assemple.xml</descriptor>
<outputDirectory>..</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>
maven-assembly-plugin の設定ファイル
pom.xml で指定した名称で maven-assembly-plugin の設定ファイルを作成する。 下の例は開発環境を渡すことを想定しているため、ソースコード類とビルドツールをアーカイビングしている。
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<id>src</id>
<formats>
<format>tar.gz</format>
</formats>
<fileSets>
<fileSet>
<includes>
<include>*.*</include>
<include>.settings/**/*.*</include>
<include>module1/pom.xml</include>
<include>module1/src/**/*.*</include>
<include>module2/pom.xml</include>
<include>module2/src/**/*.*</include>
<include>tool/maven-2.0.6/**/*.*</include>
</includes>
</fileSet>
</fileSets>
</assembly>
maven-assembly-plugin の実行
下のコマンドで実行できる。今回の例では、プロジェクトホームと同じディレクトリに ${finalName}-src.tar.gz というアーカイブが作成される。 アーカイブファイルに設定ファイルの id が付加される。
> mvn assembly:assembly
TrackBack ping me at
http://www.in-vitro.jp/blog/index.cgi/Maven/20070530_01.trackback
writeback message: Ready to post a comment.
