PMD报告超过X违规

时间:2011-04-01 23:42:14

标签: java ant static-analysis pmd

如果超过3000违反特定规则,是否有办法让pmd报告失败。我希望CyclomaticComplexity低于1000违规,ExcessivePublicCount低于2000.我知道有一种方法可以获得违规次数,但我不想要总数,因为如果我将CC的数量减少到800,并且增加EPC的数量为2200,看起来好像没有发生任何变化。如果不创建2个规则集,每个文件一个,然后使用不同的pmd目标运行,有更好的方法可以做到这一点。

有没有办法pmd可以给我每种类型的违规数量(I.E:500 - CC和200 - EPC),而不仅仅是所有违规的列表?感谢。

1 个答案:

答案 0 :(得分:0)

一想法 - 您可以让PMD以XML格式输出结果。然后,您可以编写一个XPath表达式来处理这些计数的输出。

在纯PMD中,我认为你可以编写一个包含/扩展它们的规则并跟踪静态变量中的违规。如果您运行多个CPU核心,这将无法工作,所以我不会走这条路。另一个限制是你不知道有多少失败。您可以在2001年错误上失败,但不是最后一个错误。