TreeWalker检查不使用Kotlin / Gradle?

时间:2016-08-20 20:54:31

标签: gradle kotlin checkstyle

对于使用Gradle(2.14.1)运行的Kotlin程序,我想使用CheckStyle (7.1)(旧版本有相同的问题)。

正常的模块/支票(前NewlineAtEndOfFileFileTabCharacter,...)就像魅力一样,但TreeWalker(ex AvoidStarImport)的子模块都没有做。

gradle test完成BUILD SUCCESSFUL(我确定应该存在样式错误200%),并且build/reports/checkstyle/main.html文件中有xx文件但有0个错误。< / p>

TreeWalker不能与Kotlin合作吗?我无法找到有关此内容的任何信息:/

build.gradle文件中的配置:

...

apply plugin: 'checkstyle'

...

checkstyle {
    toolVersion = "7.1"
    configFile = new File(rootDir, "checkstyle.xml")
    checkstyleMain.source = "src/main/kotlin"
    checkstyleMain.ignoreFailures = false
    checkstyleMain.showViolations = true
}

...

3 个答案:

答案 0 :(得分:2)

the source code开始,TreeWalker显然仅对.java分机的文件激活:

    public TreeWalker() {
        setFileExtensions("java");
    }

此外,它使用下面的Java lexer,因此它不适用于任何其他语言。

正如您已经注意到的,所有其他检查都适用于任何文件/语言。

答案 1 :(得分:1)

我无法找到与Kotlin一起工作的任何信息,因此可以合理地假设它没有,特别是考虑到它&#39; sa工具可自动执行检查 Java 代码的过程。

答案 2 :(得分:0)

Checkstyle不支持Kotlin。

作为替代方案,IntelliJ IDEA Kotlin 1.1.50+插件支持根据为项目(announced here)配置的设置检查Kotlin代码样式。

目前这只是一个IDE功能,但是有一个正在进行中的Gradle插件具有相同的功能(尚不可用)。

enter image description here