【问题标题】:How to test more than just java files using the Checkstyle Gradle plugin如何使用 Checkstyle Gradle 插件测试的不仅仅是 java 文件
【发布时间】:2014-03-19 03:43:07
【问题描述】:

我们使用Checkstyle 在我们的多项目Gradle 构建中强制执行基本代码质量规则。其中一些规则适用于所有文件类型,而不仅仅是 Java 文件,但我们无法弄清楚如何配置 Checkstyle Plugin 以查看除 $projectDir/src/$sourceSet/java 之外的任何内容。

我们要强制执行的最基本规则之一是从不使用制表符。 checkstyle.xml的相关位:

<module name="Checker">
  <module name="FileTabCharacter">
    <property name="eachLine" value="true"/>
  </module>
</module>

以及配置插件的build.gradle的sn-p:

apply plugin: 'checkstyle'
checkstyle {
  configFile = new File(rootDir, 'checkstyle.xml')
}

除了java/**/*,我们还想检查conf/**/*www/**/* 中的所有文件(假设包含规范与源集根目录相关)。但是,如果我尝试添加这些包含规则:

apply plugin: 'checkstyle'
checkstyle {
  configFile = new File(rootDir, 'checkstyle.xml')
  include 'conf/**/*'
  include 'www/**/*'
}

我们得到以下错误:

> Could not find method include() for arguments [conf/**/*] on org.gradle.api.plugins.quality.CheckstyleExtension_Decorated@467763f.

【问题讨论】:

    标签: gradle checkstyle


    【解决方案1】:

    您可以通过直接配置适当的Checkstyle 任务来实现此目的。例如:

    tasks.checkstyle { // `checkstyle` alone refers to the extension, not the task
        source "src/main/conf"
        source "src/main/www"
    }
    

    有关详细信息,请参阅Gradle Build Language Reference 中的Checkstyle

    【讨论】:

    • 谢谢。出于某种原因,我误读了源文档,并认为它被用来声明额外的源集。
    • checkstyle extension 有一个sourceSets 属性。
    猜你喜欢
    • 2023-01-31
    • 1970-01-01
    • 2018-05-08
    • 2018-10-05
    • 2016-03-09
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多