書いた。これとか。ひとまず、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>