Mavenプラグインドキュメント

書いた。これとか。ひとまず、0.1.0-SNAPSHOTなるバージョンの Maven DBFlute Plugin の jar を S2 のスナップショットの Maven リポジトリに入れてあるので、使えると思います(でも、まだ、Windows で試してない…)。使い方は簡単で、DBFlute を使いたいプロジェクトの pom.xml に

...
<build>
<plugins>
...
<plugin>
<groupId>org.seasar.dbflute</groupId>
<artifactId>maven-dbflute-plugin</artifactId>
<version>0.1.0-SNAPSHOT</version>
<configuration>
<dbfluteVersion>0.9.4.1-RC2</dbfluteVersion>
<dbPackage>sample.app.db</dbPackage>
<schemaName>sample</schemaName>
</configuration>
</plugin>
...
</plugins>
</build>
...

と書いておけば良い。あとは、mvn dbflute:~ ゴールでバシバシやる。まぁ、基本的には、

mvn dbflute:download
mvn dbflute:create-client
mvn dbflute:jdbc
mvn dbflute:generate

で良いだろう(事前にDBが構築してあるのと、H2 以外の利用の場合は、configuration 要素以下に設定必要)。

この他には、generate-crud ゴールも作ってある(まだ、実験的な感もあるけど、質はあげていきたいところ)。これを実行すると、各テーブルに関するSAStruts用のページを作成してくれるはず。一応、カスタマイズしやすいようにと思い、Bs~クラスみたいなのがいて、基本処理が記述してあり、必要な変更はその実体クラスの方に記述する感じ。これで、generate-crud しなおしても、カスタマイズ部分は維持されることを想定している。

そんな感じのMavenプラグインで、Mavenプラグイン自体の開発については、若干模索ぎみにやったせいか、綺麗なコードではないです(TT) 各ゴールに設定できるパラメータを見れば分かるとおり、全ゴールで共通になっていたりと、改善すべき箇所はあります。ドキュメントの方もPluginプラグインから自動生成したやつのコピペなので、JavaDoc の方を綺麗に書かないと、内容がいまいちな感じになります(これも要改善だな)。

そんな感じですが、興味がありましたらご利用ください~

追記: Maven DBFlute Plugin を利用するためには、以下のリポジトリ設定も pom.xml に必要かと。

<pluginRepositories>
<pluginRepository>
<id>maven.seasar.org</id>
<name>The Seasar Foundation Maven2 Repository</name>
<url>http://maven.seasar.org/maven2</url>
</pluginRepository>
<pluginRepository>
<id>maven-snapshot.seasar.org</id>
<name>The Seasar Foundation Maven2 Repository</name>
<url>http://maven.seasar.org/maven2-snapshot</url>
</pluginRepository>
</pluginRepositories>

M2のゴールを増やす

ダウンロード、セットアップ、CRUDなページ作成のゴールくらいを作ればいいやという予定だったのだけど、セットアップを作っていたら、ここまできたら、jdbc.sh とかもすべて mvn コマンドでやればいいんじゃない、という感じになり、ゴールを追加。そんなわけで、mvn コマンドですべてを解決できるかと。簡単にmaven-dbflute-pluginのゴールをまとめると

download
指定されたバージョンをダウンロードして、展開します。
create-client
ダウンロードした、指定したバージョンのdbflute_dfclient.zipを展開して、データベースのパラメータなどを更新します。
jdbc
jdbc.[sh|bat]を実行します。
generate
generate.[sh|bat]を実行します。
doc
doc.[sh|bat]を実行します。
outside-sql-test
outside-sql-test.[sh|bat]を実行します。
replace-schema
replace-schema.[sh|bat]を実行します。
sql2entity
sql2entity.[sh|bat]を実行します。
generate-crud
テーブルごとにSAStrutsのCRUDページを生成します。

という感じで、これらのゴールを mvn dbflute:~ で実行します。

まだ、これからやらなきゃならないことは、手順とか確認してないのだけど SNAPSHOT の jar をどこに置くかと、ドキュメント作成。ドキュメントは、SAStrutsのブランクをベースにまとめようかと。

当初は単純なものを作る感じだったのだけど、いろいろとやってしまったな~。というわけで、まだ作業が続く…。

ひとまず、maven-dbflute-pluginをコミット

まだ、調整していくけど、ひとまず、コミット(データが消えたりすると困るから)。現状は、downloadとgenerate-crudゴールの2つがあるのだけど、setupゴールを追加して、dbflute_dfclient.zipを展開するゴールも加えておきたいところ。ドキュメントも書いていかなきゃならないな。という感じで、もうちょっと時間が必要。

maven-dbflute-pluginを始めます

このたび、DBFlute用のMavenプラグインを作るべく、DBFluteに参加させていただくことになりました。maven-dbflute-pluginでMaven使いに快適なDBFluteライフを目指してます(まぁ、それなんで自分が快適になることになりますが)。以前にチョロッとコメントしたのですが、SAStruts+DBFluteのCRUDなコードを生成するゴールが含む予定です(mvn dbflute:generate-crud)。それはほぼできてますが、あとは、mvn dbflute:download みたいなゴールを作って、指定されたバージョンの DBFlute をダウンロード展開する(dbfluteとmydbfluteを生成する)ようなゴールもあると良いかと。たぶん、やるといろいろと出てくるかと思いますが、mvnライフを快適にしていきたいと思いますのでよろしくお願いします~。