Continuumを使って継続ビルドしているのだけれどビルド報告のメール(画面表示も)で日本語が化ける。
「continuum-1.0.3\apps\continuum\build-output-directory」に出ているログは正しく出てるのだけどメールにする際に化けているようだ。
んじゃまあ文字コード指定してやるかと「apps\continuum\webapp\templates\screens\ProjectBuild.vm」を見てみたんだけどこの時点ですでに変数の中身が文字化けている模様。
#if ( $output && $output != "" ) <a href="$requestUtil.getContextPath()/servlet/browse?file=$requestUtil.getParameter('id')/${requestUtil.getParameter('buildId')}.log.txt">Download as text</a> <br><br> <div style="width:100%; height:500px; overflow:auto; border-style: solid; border-width: 1px"> <code><pre>$output</pre></code> </div> #else
これでは文字コード指定しても意味がないのでリポジトリでサーバーサイドを検索。
すると「BuildResultAction」で実際のアウトプットを読み込んでいることがわかった。
private String getBuildOutputText() throws ConfigurationException, IOException { File buildOutputFile = getContinuum().getConfiguration().getBuildOutputFile( getBuildId(), getProjectId() ); if ( buildOutputFile.exists() ) { return StringEscapeUtils.escapeHtml( FileUtils.fileRead( buildOutputFile ) ); } return null; }
とおもったらバージョン1.1でかなりソースが変わってる。。
うーん深みにはまってきた