私はサードパーティのクラスのオーバーライドを行っていますが、それに対するすべてのチェックを抑制したいです(パッチが受け入れられるまでそれを維持しているだけだからです)。
ファイルのすべてのチェックを抑制する方法はありますか?
「*」を使用してみましたが、失敗します。
コマンドラインを使用しているか、IDEを使用しているかはわかりませんが、基本的には抑制ファイルが必要です。 Checkstyle構成ファイルを手動で編集している場合、新しいモジュールを追加します。
<module name="SuppressionFilter">
<property name="file" value="mysuppressions.xml" />
</module>
きみの mysuppression.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="TheClassToIgnore\.Java" checks="[a-zA-Z0-9]*"/>
</suppressions>
「files
」属性の値は基本的にソースファイルの正規表現であり、「checks
」属性の値はスキップするチェックの正規表現です(「[a-zA-Z0-9]*
"は基本的にすべてをスキップすることを意味します)。これはあなたが探しているパターンだと思いますか?
私は、checks.xmlにSuppressionCommentFilterタグを追加することで、ファイルのチェックを抑制することができました。
最初に、FileContentHolderタグをTreeWalkerタグの子として追加しました(この手順は、com.puppycrawl.tools:checkstyleのバージョン8.1以降ではnotが必要です)。
<module name="TreeWalker">
...
<module name="FileContentsHolder"/>
...
</module>
次に、checks.xmlにSuppressionCommentFilterを追加しました(com.puppycrawl.tools:checkstyleのバージョン8.1以降-「TreeWalker」ノードの下):
<module name="SuppressionCommentFilter"/>
チェックを抑制したい各ファイルで、ファイルの最初の行に次のコメントを挿入しました。
// CHECKSTYLE:OFF
aberrant80の回答は大いに役立ちました。彼のヒントの助けで-正規表現パターンマッチングを使用して、これをcheckstyle-suppressions.xmlファイルに追加することで、パッケージ全体のcheckstyleを抑制することもできました。例えば自動生成されたすべてのJavaファイルのチェックスタイルチェックをスキップするには、
<suppressions>
<suppress checks="[a-zA-Z0-9]*" files="[\\/]jaxb[\\/]" />
</suppressions>
Checkstyle用のCheckclipse Eclipseプラグインを使用している場合は、プロジェクトプロパティの[Checkclipse]> [ファイルフィルター]タブに移動して、ファイルパターン(ディレクトリを含む)を含めたり除外したりできます。たとえば、私のプロジェクトには、最上位にsrcおよびtestディレクトリが含まれています。 Checkstyleをsrcディレクトリ内のファイルにのみ適用する(testを省略)ため、次のようなincludeパターンを追加しました。
src/.+Java$
ご覧のとおり、パターン指定には正規表現スタイルの構文を使用しています。
@ aberrant80の答えはとても刺激的でしたが、私のプロジェクトではうまくいきませんでした。 link に従って、checkstyleがFoo.Javaで検索する警告を抑制するために、mavenが使用されている場合:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
...
<configuration>
...
<configLocation>checkstyle.xml</configLocation>
<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
...
</configuration>
...
</plugin>
そしてcheckstyle-suppressions.xml
<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress files="Foo.Java" checks="[a-zA-Z0-9]*" />
</suppressions>
これまでのところ、最高バージョンは1.1です(1.2は存在しません)。
プロジェクト内のファイルのグループを検査したくない場合は、file filter
ファイルフィルターは正規表現を使用して、除外するファイルを決定します。正規表現は完全なファイル名で動作します-このため、フォルダー全体を除外することもできます。この場合、必要に応じてパッケージ全体を除外できます。
少しグーグルで検索した場合-おそらく、探しているものの例が含まれているCheckstyle Configuration Propertieファイルを見つけることができます。あなたがそうした後、私は提案します-あなたが将来の状況でそれを参照できるように、テンプレートのビットとして保存します
書き込み保護されたファイルを無視するオプションがあります。またはパッケージ内のファイル。