[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 メーリングリストの案内