QALabでパスに日本語が含まれていると問題が起きる。
Hudsonで静的解析をアレコレやりたいと前から書いていますが、
プラグインがどうにもしっくり来ないので、
いっそ静的解析をQALab(+Limy)に任せようと思って調査しています。
が、タイトルに書いた通り、ファイルに日本語を含むパスがあると、
QALabは正常に結果を集計できないようなんですね。
(qalab.xmlに文字化けが入ってしまうため)
何で文字化けするのかソースを見ていたら、
QALabXMLExporterというクラスの中で、FileWriterを使っている箇所がありました。
http://qalab.sourceforge.net/multiproject/qalab/xref/net/objectlab/qalab/exporter/QALabXMLExporter.html#451
451 public final void save() throws IOException { 452 OutputFormat format = new OutputFormat(compiledStats, "UTF-8", true); 453 FileWriter stringOut = new FileWriter(outputFile);
XMLヘッダに「UTF-8」を指定しておきながら、
ファイル自体は(FileWriterはデフォルトエンコードを利用するので)WindowsではShift-JISになるため
文字化けが発生してしまっているようですね。
幸いなことにQALabXMLExporterに相当する部分は拡張ポイントになっていて
差し替え可能なので、ファイルをUTF-8で作成するようなExporterを書けば解決できそうです。
まだ実際に試したわけではないので、また試したら書きます。