java PMD报告超过X个违规
如果我违反特定规则超过3000次,有没有办法让pmd报告失败。我希望CyclomaticComplexity低于1000个违规项,ExcessivePublicCount低于2000个。我知道有一种方法可以得到违规的数量,但我不想要总数,因为如果我将CC的数量减少到800,并将EPC的数量增加到2200,似乎不会发生任何变化。如果不创建两个规则集,每个文件一个,然后使用不同的pmd目标运行,那么有更好的方法做到这一点吗
pmd有没有办法告诉我每种类型的违规数量(即:500-CC和200-EPC),而不仅仅是所有违规的列表?谢谢
# 1 楼答案
一个想法是,可以让PMD以XML格式输出结果。然后可以编写一个XPath表达式来对这些计数的输出进行后期处理
在纯PMD中,我认为您可以编写一个规则来包装/扩展他们的规则,并在静态变量中跟踪违规行为。但如果你在多个CPU核上运行,这就行不通了,所以我不会走这条路。另一个限制是你不知道有多少次失败。您可以在第2001个错误中失败,但不能在最后一个错误中失败