使用Gradle中的CodeNarc生成多种报告类型

时间:2016-04-25 11:59:11

标签: gradle codenarc

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

我的build.gradle

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

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

2 个答案:

答案 0 :(得分:2)

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

注意:reports关闭将为您提供不同格式的报告。 doLast会将其中一个报告的输出打印到控制台。如果您不需要控制台输出,则可以删除doLast闭包。

我建议改变你的任务:

codenarcMain {
    reports {
        text {
            enabled = true
            destination = file("${codenarc.reportsDir}/CodeNarcMain.txt")
        }

        html.enabled = true

        xml {
            enabled =  true
            destination = file("${codenarc.reportsDir}/CodeNarcMain.xml")
        }
    }

    doLast {
        println "****************************** CODE NARC ******************************"
        File codeNarcFile = file("${codenarc.reportsDir}/CodeNarcMain.txt")
        println codeNarcFile.getText()
        println "****************************** CODE NARC ******************************"
    }
}

答案 1 :(得分:0)

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

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

check.dependsOn('codeNarcConsole')

不理想,但可行。你也可以发帖到Gradle Bugs来改进它。