Отключите все проверки 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 [\/]