Javaで開発していてJenkinsでビルドを自動化している環境ならついでにCheckstyleで静的解析でもしておくかーみたいな感じで、 ついてくると思います。
仕事で提供されたJenkinsの環境もその一つでした。
で、いままでJenkinsのビルドが通っていたのにあるプルリクエストをマージしてから失敗するようになりました。
原因を見るとCheckstyleのところでfailとでている。
Checkstyleでfail???
僕みたいなにわかJava使いはCheckstyleは静的解析して警告だけ出してくれるものと思ってたのでこのエラーは意味不明でした。
これを機に調べるとCheckstyleもレベルがあって"error"と"warning"と"info"があるみたいですね。
Javaのプロジェクト結構やってますが、初めて知りました。
だいたいCheckstyleの定義ファイルは上から降ってきますからね。新規開発でも過去のを流用したり。
定義ファイルまで書けるようになる必要はないでしょう。
なので僕みたいにCheckstyleをなんとなく使っているひとはCheckstyleにはレベルがあり、CIでエラーにすることもできる。とだけ覚えておきましょう。
ちなみに今回の件は、JavaでよくやりがちなStringを==比較しているのがerrorレベルでした。修正したら通るようになりました。
僕がコーディングしたわけではないですが、.NETerはやっちゃいますよね。気持ちはわかります。