对于使用Gradle(2.14.1)运行的Kotlin程序,我想使用CheckStyle (7.1)(旧版本有相同的问题)。
正常的模块/支票(前NewlineAtEndOfFile
,FileTabCharacter
,...)就像魅力一样,但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
}
...
答案 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插件具有相同的功能(尚不可用)。