3

我想在 Gradle 的 CodeNarc 中生成 HTML 和控制台报告。

我的build.gradle

apply plugin: 'codenarc'
...
codenarc {
    toolVersion = '0.24.1'
    configFile = file('config/codenarc/codenarc.groovy')
    reportFormat = 'html'
}

这很好用,但我也希望在控制台上显示报告,因为现在那里只显示指向 HTML 的链接。如何请求多种报告类型?

4

2 回答 2

3

您可以进行以下更改以添加另一种报告格式,而不是运行第二个任务来生成另一个报告。然后抓取其中一个文件并将其写入控制台。(您可以只获取 HTML 或 XML 报告并将其写入控制台,但如果没有一些格式可能很难阅读。)

注意:reports关闭将为您提供不同格式的报告。会将其中一份报告的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")
        }
    }
}

注意:这不会导致您的任务运行两次。

于 2016-04-27T20:06:02.647 回答
0

我能想到的最好方法是创建一个单独的任务:

task codeNarcConsole(type: CodeNarc) {
  // other config
  reportFormat = 'console'
}

check.dependsOn('codeNarcConsole')

不理想,但可行。您也可以向Gradle Bugs发布有关此内容的信息以对其进行改进。

于 2016-04-25T23:47:40.053 回答