TreeWalker检查不与Kotlin / Gradle一起工作?

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

正常的模块/检查(例如NewlineAtEndOfFileFileTabCharacter ,…)像魅力一样工作,但TreeWalker (ex AvoidStarImport )的子模块都没有。

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

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 } ... 

从源代码中可以清楚的看到, TreeWalker仅在扩展名为.java文件上激活:

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

而且,它使用下面的Java词法分析器 ,所以它不适用于任何其他语言。

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

我找不到任何与Kotlin一起工作的信息,所以我们可以假定它没有,特别是考虑到它是一个自动执行Java代码检查过程的工具。

Checkstyle不支持Kotlin。

作为替代,IntelliJ IDEA Kotlin 1.1.50+插件支持检查Kotlin代码风格与项目配置的设置(在此处公布) 。

目前这只是一个IDE功能,但是还有一个功能相同的Gradle插件(尚未推出)。

在这里输入图像描述