hudsonによる継続的統合

社内のJavaプロジェクトで、hudsonを使用して毎晩ビルドを実行している。
が、なかなか全体ビルドが通らない。


エラー1:この文字は、エンコーディング UTF-8 にマップできません。
原因:ソースコードUTF-16だった。


エラー2:\65279 は不正な文字です。
原因:ソースコードが、BOMありのUTF-8だった。


エラー3:シンボルを見つけられません。
原因:自分が変更したソースをすべてコミットしていない。これが一番多いエラー


このプロジェクトメンバーはJavaの経験が浅いのがいけないのか、SVNを使った経験が浅いのがいけないのか、
両方かもしれないが、自分の作ったソースをすべてコミットしない方や、エラーであってもコミットしてしまう方がいるみたい。
そんなに開発者は多くないのに。毎晩ビルドを開始して一か月くらい経過するけど、全体ビルドが成功したのは一割程度。こんなものでしょうかね。

このプロジェクトではfindBugs,checkstyle,emma,junitの結果をレポートにしていますが、ソースコードの行数がわかりません。
数多くあるhudsonのレポートツールを探したのですが、見当たりませんでした。仕方ないので別のツールとしてstatSVN(0.7.0)とMetrics plugin for Eclipse(1.3.6)を使用してみました。

これは、まずSVNからチェックアウトしてきたワーキングディレクトリで以下のコマンドを実行します。


C:\workdir> svn log --xml -v > svn.log
次にダウンロードしたstatSVNのjarファイルを用意して次のように実行します。

C:\workdir> java -jar statsvn.jar svn.log C:\workdir -exclude "**/*.xls" -include "**/*.java" -output-dir C:\html
すると、C:\htmlに解析結果が出力されるので、あとはindex.htmlを見るだけです。

これはプラグインのインストールでOKなので、手順は省略します。サイトはhttp://metrics.sourceforge.net/updateです。