我想通过Gradle将Checkstyle的输出作为HTML报告。
我在Checkstyle plugin documentation中找不到任何内容。
我已将以下内容添加到我的build.gradle
文件中。
checkstyleTask {
reports {
html {
destination "build/reports/checkstyle.html"
}
}
}
但这产生了
出了什么问题:评估根项目'MyProject'时出现问题。
无法在root上找到参数[build_1vu33nc0ekgtoo19jt e86o8o42 $ _run_closure8 @ 1d8ee20]的方法checkstyleTask() 项目'MyProject'。
有没有办法使用Gradle生成Checkstyle HTML报告?
感谢。
答案 0 :(得分:19)
以下是我在我的一个小项目中的表现:
checkstyleMain << {
ant.xslt(in: reports.xml.destination,
style: new File('config/checkstyle-noframes-sorted.xsl'),
out: new File(reports.xml.destination.parent, 'main.html'))
}
这要求您将checkstyle二进制分发的contrib目录中的checkstyle-noframes-sorted.xsl文件存储在项目的config
目录中。
如果您负担得起运行SonarQube服务器,使用声纳插件可以带来更好的用户体验。
编辑:如果存在违规行为,上述内容将无效。这应该在所有情况下:
task checkstyleHtml << {
ant.xslt(in: checkstyleMain.reports.xml.destination,
style: file('/config/checkstyle-noframes-sorted.xsl'),
out: new File(checkstyleMain.reports.xml.destination.parent, 'main.html'))
}
checkstyleMain.finalizedBy checkstyleHtml
答案 1 :(得分:4)
看起来我已经迟到了。但仍然发布这种想法,它可能会帮助其他人有同样的问题。
Gradle 2.10支持生成html文件报告。只需确保在gradle-wrapper.properties
文件中正确配置了版本。
在您的build.gradle
文件中,您应该拥有如下所示的配置。
apply plugin: 'checkstyle'
checkstyle {
toolVersion = '6.4.1'
sourceSets = [sourceSets.main]
configFile = rootProject.file("config/checkstyle/checkstyle.xml");
showViolations = true
ignoreFailures = true
}
checkstyleTest {
enabled = false
}
tasks.withType(Checkstyle) {
reports {
html.destination rootProject.file("build/reports/checkstyle.html")
}
}
此处config file
是包含您要使用的checkstyle模块的文件,html.destination
是您希望生成html报告的位置。
答案 2 :(得分:1)
对于Gradle 2.10,请将以下代码添加到build.gradle
:
tasks.withType(Checkstyle) {
reports {
html.enabled = true
}
}
答案 3 :(得分:0)
Here是一个插件,可以轻松设置checkstyle。它会根据您的喜好自动为checkstyle设置所有必需的配置,并最终生成HTML报告。
您需要做的就是为build.gradle
添加几行,就是这样。无需创建单独的xml文件。
该插件名为 estilo 。您可以在此处找到有关如何使用它的更多详细信息 - https://github.com/anshulverma/gradle-estilo-plugin