[Seasar-user:21451] Re: [DBFlute] 特定のパッケージを checkstyle のチェックから除去
Hiroyuki Ohnaka
[E-MAIL ADDRESS DELETED]
2012年 9月 4日 (火) 18:45:54 JST
大中(せと)です。
# Seasarと余り関係ないのですが、情報共有のためメールさせてください。
2012年9月4日 18:20 Masao Suda <masao.suda @ interaction-i.co.jp>:
> 実行時パスからの相対パスになっているようです。
>
> 相対パスで指定する場合、cdでディレクトリを変更してからantを実行すれば行
> けると思います。
>
> -- 以下例(Windows の cmdプロンプトから実行する場合) --
> cd <build.xmlがあるディレクトリ>
> call ant checkstyle
> cd ..
> -- 例ここまで--
これに加えて、eclipseとantで同じcheckstyleの設定ファイルを共有した場合、
eclipse 上からは絶対パスの指定でないと SuppressionFilter
読み込めないという問題がありました。
これは、eclipse-cs(eclipseプラグイン)が、eclipse.exeのカレントディレクトリ
(大抵はeclipse.exeの場所) を起点として SuppressionFilter を読み込みに
行っているからのようです。
で、解決方法なのですが、
http://stackoverflow.com/questions/198244/checkstyle-suppression-filters
の通り、
checksyleの設定ファイルでは
------------------
<module name="SuppressionFilter">
<property name="file" value="${config_loc}/suppressions.xml"/>
</module>
-------------------
のようにします。
※ ${config_loc}はeclipse-csの組み込みプロパティ
そして、build.xml では、
<checkstyle
config="eltex.checkstyle.standard.utf8.xml">
<fileset dir="src/main/java/jp"
includes="**/*.java"/>
<formatter type="xml" toFile="target/checkstyle.xml"/>
<property key="config_loc" value="${basedir}" />
</checkstyle>
のように、config_loc プロパティを上書きします。
※build.xmlと checkstyleの設定ファイルを同じパスにおいているので、このような設定になっています。
このようにすることによって、eclipseとJenkins(Ant)で、同じSuppressionFilterを
使用することが出来ます。
解決の手がかりになる情報、どうもありがとうございました。
Seasar-user メーリングリストの案内