Trac LightningにMavenとHudsonが入ってたので勉強用に入れてみた。
Trac Lightningはこちらから。
http://sourceforge.jp/projects/traclight/
職場でもTrac + SVNは使っているが、MavenとHudsonは確か入ってません。
エンジニアとしてまだまだ勉強せねばならんことが多いです。
pom.xmlの書き方すら分からない。
Trac Lightningはサンプルを置いてくれてるよ。助かるね、こりゃ。
そのサンプルでは結構お役立ちな設定も含まれている。
- maven-javadoc-plugin
- maven-checkstyle-plugin
- findbugs-maven-plugin
- maven-pmd-plugin
- カバレッジ
- cobertura-maven-plugin
- メトリックス
- クロスリファレンス
- maven-jxr-plugin
- テストレポート
junit3.8.1に依存しているようなサンプルにしてあったので、
とりあえず僕はTestNGに依存している設定を加えないといけないだろう。
(書き換えではなく、加えるのはJUnitモードも使うつもりだから)
http://maven.apache.org/plugins/maven-surefire-plugin/examples/testng.html
僕がやりたいことはJUnitモードが含まれる。
ということで「Using Suite XML Files」のセクションで書かれてることも書く必要がある。
Trac Lightningのサンプルpom.xmlにもmaven-surefire-pluginは書いてあるので、
それに追加の内容を書き込めばいけるかな?
あと、emmaの扱いが難しい。どうやればいいだろう?どう書けばいいだろう?
「emma-maven-plugin」が存在するようだ。
http://mojo.codehaus.org/emma-maven-plugin/
ふむふむ、特段細かい設定をしなくても、ちょこっと書くだけで済みそうだ。
本当かな?なんか腑に落ちない。。。
さてと、問題はsqljのプリコンパイルだな。
「maven-antrun-plugin」を使ってプリコンパイルをねじ込むって案はある。
「maven-compiler-plugin」よりも先にプリコンパイルされてればいい。
そのプリコンパイルのプロセスの中に、カスタマイズとバインドを含めるかは好き嫌いの問題かも知れん。
sqljを使うってことは、誰かはプリコンパイル後のjavaクラスを参照してるってことで、
それはつまりsqljファイルのみをマスタ管理した場合、常にコンパイルエラーなクラスが居て、
プリコンパイルのプロセスが終わらないとコンパイルが通ってないということになる。
sqljファイルのみをマスタ管理するにしても、特定のjavaファイルを管理対象外にするのが面倒臭い。