我正在使用Gradle FindBugs插件。如何将报告的错误打印到控制台? PMD插件具有consoleOutput属性。 FindBugs有类似的属性吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
这是初步的......但这是一个开始
task checkFindBugsReport << {
def xmlReport = findbugsMain.reports.xml
if (!xmlReport.destination.exists()) return;
def slurped = new XmlSlurper().parse(xmlReport.destination)
def report = ""
slurped['BugInstance'].eachWithIndex { bug, index ->
report += "${index + 1}. Found bug risk ${bug.@'type'} of category ${bug.@'category'} "
report += "in the following places"
bug['SourceLine'].each { place ->
report += "\n ${place.@'classname'} at lines ${place.@'start'}:${place.@'end'}"
}
}
if (report.length() > 1) {
logger.error "[FINDBUGS]\n ${report}"
}
}
findbugsMain.finalizedBy checkFindBugsReport
答案 2 :(得分:1)
您可以使用Violations Gradle Plugin执行此操作。它配置了模式以标识报告文件并在check
之后运行。它会
答案 3 :(得分:0)
Findbugs / Spotbugs带有一个可以在分析后运行,读取xml报告并打印为text / html的类。它包含在findbugs / spotbugs.jar文件中。
<java classname="edu.umd.cs.findbugs.PrintingBugReporter" fork="true">
<arg value="${build.dir}/findbugs/findbugs-test-report.xml"/>
<classpath path="${spotbugs.home}/lib/spotbugs.jar"/>
</java>
与跑步相同
java -cp path/to/spotbugs.jar edu.umd.cs.findbugs.PrintingBugReporter path/to/findbugs-report.xml
它具有一个-html
选项,它将呈现html。
在gradle / maven中实现相同目标应该是可行的。