使用Gradle生成Checkstyle HTML报告

时间:2013-12-03 21:22:51

标签: gradle checkstyle build.gradle

我想通过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报告?

感谢。

4 个答案:

答案 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