如果您使用Findbugs进行编译代码检查,是否可能根据单个检测器或检测器类别的结果使构建失败?
例如,我想确保我没有任何优先级的任何与空指针相关的检测(this list中的“NP”的前缀)。同样,我们真的不希望有任何wait not in loop情况。也就是说,我不一定希望在基于国际化检测的构建中失败,因为这些对我们的应用程序并不是立即关键。
期望的最终状态将是我们可以针对从IDE级别(Eclipse和Netbeans)到发布级别(使用CruiseControl生成构建)的各种开发阶段进行调整的过程。
注意:我知道Eclipse和Netbeans都内置了类似的检测方法,但这是一个特定于FindBugs的问题。
答案 0 :(得分:2)
来自FindBugs Using the Ant Task section:
includeFilter
可选属性。它指定过滤器的文件名,指定报告哪些错误。请参阅Chapter 8, Filter Files。
从第8章开始:
但是,也可以使用过滤器来选择bug实例来专门报告:
$ findbugs -textui -include myIncludeFilter.xml myApp.jar
和
- 通过指定缩写来匹配所有类的某些测试。
醇>
<Match>
<Bug code="DE,UrF,SIC" />
</Match></pre>
所以我会假设一些事情:
<Match>
<Bug code="Wa,NP" />
</Match>
在您的包含过滤器和
中<findbugs includeFilter="path/to/includefilter.xml"...
将是您正在寻找的。 p>
path/to /includeFilter
(或excludeFilter
)可以是根据另一个属性的值设置的属性,对于常规构建,dev
可能默认为test
deploy
用于CI构建,{{1}}用于部署构建,并指定您希望在每个阶段看到或不希望看到的特定警告。
希望有所帮助。