2017-10-13 15 views
2

クラス名パターンでPMDルールからクラスを除外する方法はありますか?regexpでpmdルールからクラスを除外する方法

<rule ref="rulesets/java/coupling.xml/ExcessiveImports"> 
    <exclude-pattern>.*Test\.class</exclude-pattern> 
</rule> 

私はviolationSuppressXPathアプローチの意識が、私はそれがあまりにも醜い見つける/コンプレックス:

私のようなSTHを探しています。

ありがとうございます!

答えて

2

私は恐れていません。現在のところ、<exclude-pattern>で解析されたファイルは完全に無視できますが、特定のルールでは無視されません。

この根底にある根拠は、コードベースでルールセットを強制するとき、できるだけ一貫しているようにすることです。そうすることで、いくつかの例外は考慮されています

  • ルールは非常に具体的に適用されない場合があり、個々のケースでは、まだ正当な理由

を抑制することができ、テスト/メインコード用に別のルールセット

  • を持ちますあなたの例は、最初のシナリオの方向を指しているようです。テストクラス用のより緩やかなルールセットが必要な場合は、別の設定を作成し、PMDに2つの別々の分析を実行させる必要があります。

    ただし、これはPMD自体の範囲外ですが、実行方法に関するものです。 Gradle/Ant/CLIでは、これは達成するのが非常に簡単です。 Maven上では現在サポートされていません(機能リクエストは見つかりませんでした)。here

    前の2つではカバーしていない別のシナリオがあると思われる場合は、https://github.com/pmd/pmd/issuesに機能リクエストを投稿してください

  • 関連する問題