仅对某些内包启用一些检查

时间:2014-10-19 20:40:40

标签: checkstyle

我有这个包结构:

my.package
my.package.other
my.package.api
...

通常,我想使用一些检查,但对于my.package.api包,我也想使用其他一些检查(检查JavaDoc)。我找到了抑制文件:

<?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="my[\\/]package[\\/]api[\\/]" checks="AdditionalChecks"/>
</suppressions>

但是这将禁用对特殊包的附加检查(并启用其他包上的那些)。有没有办法做相反的事情?

1 个答案:

答案 0 :(得分:2)

在这种情况下,您必须取消所有包中的警告,但 apifiles元素的suppress属性需要Java regexes,因此您可以这样配置(explanation of regex):

<suppressions>
    <suppress files="my[\\/]package[\\/](?!api)[^\\/]+[\\/]"
        checks="AdditionalChecks"/>
</suppressions>