チェックスタイルレポートから特定のフォルダー(generate-sourcesという名前)を無視したいのですが、それらは生成されているからです。
違反を表示するためにEclipse-csを使用しています。
xmlにsuppressionfilterを追加しました:
<module name="SuppressionFilter">
<property name="file" value=".\suppressions.xml"/>
</module>
私のsuppressions.xmlは次のようになります:
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress files="\*generated-sources\*\*\.\*" checks="[a-zA-Z0-9]*"/>
</suppressions>
しかし、それは機能していません。何か案は?
<suppress files="[\\/]generated-sources[\\/]" checks="[a-zA-Z0-9]*"/>
これは動作します:)
Philippからの回答に加えて、抑制ファイルには絶対パス名(:-()を使用する必要がありました。
<module name="SuppressionFilter">
<property name="file" value="/Users/xxx/workspace/suppressions.xml"/>
</module>
Checkstyleプラグインがプロジェクトのホームディレクトリを使用していないようです。
(少なくともEclipse luna/Mac OS Xでは)
彼の回答でThomas Welschが指摘しているように、抑制xmlファイルに相対パス名を使用することに問題があるようです。
Gradleビルドの場合、 This Gist は回避策を提案します:
build.gradle
:
checkstyle {
// use one common config file for all subprojects
configFile = project(':').file('config/checkstyle/checkstyle.xml')
configProperties = [ "suppressionFile" : project(':').file('config/checkstyle/suppressions.xml')]
}
checkstyle.xml
:
<module name="SuppressionFilter">
<property name="file" value="${suppressionFile}" default="suppressions.xml"/>
</module>
(デフォルト値では、IDEプラグイン、gradle変数がソートされていないプラグインが正しく機能します)