Отключить все проверки checkstyle для конкретного пакета Java - PullRequest
14 голосов
/ 26 октября 2010

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

ком / MYDOMAIN / а / делегат / хуг / 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 должна быть отключена, и следует отметить, что я не знаю всех имен пакетов заранее, кроме этого шаблона.

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

Ответы [ 2 ]

18 голосов
/ 26 октября 2010

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

<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>
0 голосов
/ 31 октября 2010

(?! делегат \ b) [\ /] [аз] * [\ /] jaxws [\ /] управляемый [\ /]

...