在Gradle中使用CodeNarc生成多个报告类型
我想在Gradle的CodeNarc中生成HTML和控制台报告 我的在Gradle中使用CodeNarc生成多个报告类型,gradle,codenarc,Gradle,Codenarc,我想在Gradle的CodeNarc中生成HTML和控制台报告 我的build.gradle: apply plugin: 'codenarc' ... codenarc { toolVersion = '0.24.1' configFile = file('config/codenarc/codenarc.groovy') reportFormat = 'html' } 这很好,但我也希望在控制台上显示报告,因为现在只有指向HTML的链接显示在那个里。如何请求多个报告
build.gradle
:
apply plugin: 'codenarc'
...
codenarc {
toolVersion = '0.24.1'
configFile = file('config/codenarc/codenarc.groovy')
reportFormat = 'html'
}
这很好,但我也希望在控制台上显示报告,因为现在只有指向HTML的链接显示在那个里。如何请求多个报告类型?我能想到的最佳方法是创建一个单独的任务:
task codeNarcConsole(type: CodeNarc) {
// other config
reportFormat = 'console'
}
check.dependsOn('codeNarcConsole')
不理想,但可行。您也可以将此内容发布到以改进。您可以进行以下更改以添加其他报告格式,而不是运行第二个任务来生成另一个报告。 然后抓取其中一个文件并将其写入控制台。 (您可以抓取HTML或XML报告并将其写入控制台,但如果没有一些格式,可能很难阅读。) 注意:
reports
closure将为您提供不同格式的报告。doLast
将其中一个报告的输出打印到控制台。如果不需要控制台输出,可以删除doLast
闭包
我建议您将任务更改为:
task codenarcConsoleReport {
doLast {
println file("${codenarc.reportsDir}/main.txt").text
}
}
codenarcMain {
finalizedBy codenarcConsoleReport
reports {
text.enabled = true
html.enabled = true
xml {
enabled = true
destination = file("${codenarc.reportsDir}/customFileName.xml")
}
}
}
注意:这不会导致任务运行两次。是的,添加任务可能会导致任务运行两次。由于构建时间很重要,您可以编写一个自定义任务来扩展CodeNarc并覆盖报告生成位