TreeWalker 检查不适用于 Kotlin/Gradle?
TreeWalker checks not working with Kotlin/Gradle?
我想使用 CheckStyle (7.1)(旧版本有同样的问题)作为 Kotlin 程序 运行 Gradle (2.14.1).
正常的 modules/checks(例如 NewlineAtEndOfFile
、FileTabCharacter
、...)工作起来很有魅力,但是 none TreeWalker
的子模块(例如 AvoidStarImport
)做。
gradle test
完成 BUILD SUCCESSFUL
(我 200% 确定应该有样式错误),并且有 xx 个文件,但 build/reports/checkstyle/main.html
文件中有 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
}
...
我找不到任何信息表明它 可以与 Kotlin 一起工作,所以假设它不能与 Kotlin 一起工作是合理的,特别是考虑到它是一个工具自动检查 Java 代码的过程。
从 the source code 可以明显看出 TreeWalker
仅在扩展名为 .java
的文件上激活:
public TreeWalker() {
setFileExtensions("java");
}
此外,它在下面使用了 Java lexer,因此它不适用于任何其他语言。
正如您已经注意到的,所有其他检查都可以与任何 file/language.
一起使用
Checkstyle 不支持 Kotlin。
作为替代方案,IntelliJ IDEKotlin 1.1.50+ 插件支持根据项目 (announced here) 配置的设置检查 Kotlin 代码风格。
目前这只是一个 IDE 功能,但有一个正在开发中的 Gradle 插件具有相同的功能(尚不可用)。
我想使用 CheckStyle (7.1)(旧版本有同样的问题)作为 Kotlin 程序 运行 Gradle (2.14.1).
正常的 modules/checks(例如 NewlineAtEndOfFile
、FileTabCharacter
、...)工作起来很有魅力,但是 none TreeWalker
的子模块(例如 AvoidStarImport
)做。
gradle test
完成 BUILD SUCCESSFUL
(我 200% 确定应该有样式错误),并且有 xx 个文件,但 build/reports/checkstyle/main.html
文件中有 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
}
...
我找不到任何信息表明它 可以与 Kotlin 一起工作,所以假设它不能与 Kotlin 一起工作是合理的,特别是考虑到它是一个工具自动检查 Java 代码的过程。
从 the source code 可以明显看出 TreeWalker
仅在扩展名为 .java
的文件上激活:
public TreeWalker() {
setFileExtensions("java");
}
此外,它在下面使用了 Java lexer,因此它不适用于任何其他语言。
正如您已经注意到的,所有其他检查都可以与任何 file/language.
一起使用Checkstyle 不支持 Kotlin。
作为替代方案,IntelliJ IDEKotlin 1.1.50+ 插件支持根据项目 (announced here) 配置的设置检查 Kotlin 代码风格。
目前这只是一个 IDE 功能,但有一个正在开发中的 Gradle 插件具有相同的功能(尚不可用)。