Отключите все проверки checkstyle для конкретного пакета java

У меня есть два пакета, а именно

ком/MYDOMAIN/а/делегат/XYZ/JAXWS/управление

и com/mydomain/abc/xyz/jaxws/managed

Мне нужно, чтобы checkstyle был отключен только для второго пакета, поскольку они содержат прокси-классы, автогенерируемые.

Я использую файл suppression.xml, как показано ниже

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "suppressions_1_1.dtd">

<suppressions>
       <!-- Suppress JavadocPackage in the test packages -->
       <suppress checks="JavadocPackage" files="[\\/]test[\\/]"/>

    <!-- Suppress all checkstyle for autogenerated jaxws.managed package -->
    <suppress checks="[a-zA-Z0-9]*" files="([^(delegate)])+([a-z]*[\\/]jaxws[\\/]managed[\\/])+"/>
</suppressions>

Обратите внимание, что первое подавление для отключения проверки JavadocPackage работает нормально, а второе - нет. Я боюсь, что мое регулярное выражение для выбора пакета может быть неправильным. Любая помощь очень ценится.

Чтобы указать мои требования с примером:

Критерии выбора - это то, что имя пакета должно заканчиваться на jaxws.managed, но не должно содержать delegate в имени пакета. Более delegate должен появиться перед jaxws.managed в имени пакета:

например: проверка чеков в пакете com.mycomany.delegate.service.jaxws.managed должна быть включена, а в com.mycompany.abc.service.jaxws.service должна быть отключена, и следует отметить, что я не знаю всех имен папок, кроме этого шаблона.

Спасибо и с уважением Сиби

Ответы

Ответ 1

Просто используйте подавление:

<suppress checks="." files="com[\\/]mydomain[\\/]abc[\\/]xyz[\\/]jaxws[\\/]managed[\\/]"/>

В качестве альтернативы, я бы рекомендовал только передать файлы, которые вы хотите проверить в Checkstyle. Например, если вы используете ANT, используйте a, чтобы указать файлы для обработки и использовать для указания файлов для игнорирования.

Например:

<fileset dir="src">
  <include name="**/*.java"/>
  <exclude name="com/mycompany/abc/service/jaxws/service/*.java"/>
</fileset>

Ответ 2

(! delegate\b) [\/] [a-z] * [\/] jaxws [\/] managed [\/]