私はサードパーティのクラスのオーバーライドを行っており、そのすべてのチェックを抑制したいと考えています (パッチが受け入れられるまで保持するだけなので)。
ファイルのすべてのチェックを抑制する方法はありますか?
「*」を使用しようとしましたが、失敗します。
私はサードパーティのクラスのオーバーライドを行っており、そのすべてのチェックを抑制したいと考えています (パッチが受け入れられるまで保持するだけなので)。
ファイルのすべてのチェックを抑制する方法はありますか?
「*」を使用しようとしましたが、失敗します。
コマンド ラインを使用しているか、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 以降、この手順は必要ありません)。
<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を抑制することもできました。たとえば。jaxbパッケージで自動生成されたすべてのJavaファイルのcheckstyleチェックをスキップするには、
<suppressions>
<suppress checks="[a-zA-Z0-9]*" files="[\\/]jaxb[\\/]" />
</suppressions>
Checkstyle用のCheckclipseEclipseプラグインを使用している場合は、プロジェクトのプロパティの下にある[Checkclipse]> [File Filter]タブに移動して、ファイルパターン(ディレクトリを含む)を含めたり除外したりできます。たとえば、私のプロジェクトには、最上位にsrcディレクトリとtestディレクトリが含まれています。Checkstyleをsrcディレクトリ内のファイルにのみ適用したいので( testを省略)、次のようなインクルードパターンを追加しました。
src/.+java$
ご覧のとおり、パターン指定には正規表現スタイルの構文を使用しています。
私のプロジェクトではうまくいきませんでしたが、@ aberrant80の答えは非常に刺激的です。maven が使用されている場合、linkによると、checkstyle が Foo.java で検索する警告を抑制するには、次のようにします。
<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 は存在しません)。
プロジェクト内のファイルのグループを検査したくない場合は、ファイル フィルターを作成してこれらのファイルを除外し、検査されないようにすることができます。
ファイル フィルタは正規表現を使用して、除外するファイルを決定します。正規表現は完全なファイル名で動作します。このため、フォルダー全体を除外することもできます。この場合、必要に応じてパッケージ全体を除外できます。
少しグーグルで検索すると、探しているものの例を含むいくつかの Checkstyle 構成プロパティ ファイルが見つかる可能性があります。後で参照できるように、テンプレートとして保存しておくことをお勧めします。
書き込み保護されたファイルを無視するオプションがあります。またはパッケージ内のファイル。