繁体   English   中英

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

[英]Generate multiple report types using CodeNarc in Gradle

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

我的build.gradle

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

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

您可以进行以下更改以添加另一种报告格式,而不是运行第二个任务来生成另一个报告。 然后抓取其中一个文件并将其写入控制台。 (您可以直接获取 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")
        }
    }
}

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

在 Gradle (7+) 的较新版本中,我收到了弃用警告:

reports {
    html.enabled = true
    xml.enabled = true
}

格式已更改为(用于启用 html 和 xml 报告)

reports {
    html.required = true
    xml.required = true
}

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

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

check.dependsOn('codeNarcConsole')

不理想,但可行。 您也可以将有关此问题的信息发布到Gradle Bugs以对其进行改进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM