TreeWalker не работает с Kotlin / Gradle?

Я хочу использовать CheckStyle (7.1) (более старые версии имеют ту же проблему) для программы Kotlin, работающей с Gradle (2.14.1).

NewlineAtEndOfFile модули / проверки (ex NewlineAtEndOfFile , FileTabCharacter , …) работают как обаяние, но ни один из подмодулей TreeWalker (ex AvoidStarImport ) не делает.

Тест gradle test завершает BUILD SUCCESSFUL (и я уверен, что на 200% должны быть ошибки стиля), и есть файлы xx, но 0 ошибок в файле build/reports/checkstyle/main.html .

Не работает ли TreeWalker с Котлином? Я не могу найти информацию об этом: /

Конфигурация в файле 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 lexer внизу, поэтому он не будет работать ни на каком другом языке.

Как вы уже заметили, все остальные проверки подходят для использования с любым файлом / языком.

Я не могу найти информацию о том, что она работает с Kotlin, поэтому было бы разумно предположить, что это не так, особенно учитывая, что это инструмент, который автоматизирует процесс проверки кода Java .

Checkstyle не поддерживает Kotlin.

В качестве альтернативы плагин IntelliJ IDEA Kotlin 1.1.50+ поддерживает проверку стиля кода Котлина на параметры, настроенные для проекта (объявлено здесь) .

В настоящее время это только функция IDE, но есть плагин Gradle с незавершенными работами с той же функциональностью (пока не доступен).

введите описание изображения здесь

Intereting Posts
Почему этот тест инструментария Android вызывает активность onCreate дважды? Есть ли способ вложить enum в класс данных в Котлин? Могу ли я использовать инъекцию кинжала 2 в Котлин? Spring не может обрабатывать метод, возвращающий общий внутренний класс Kotlin Когда лямбда-параметры должны быть noinline в Котлин? Котлин: массив дженериков Объект «val» на уровне пакета Kotlin не работает из модуля библиотеки Android, если он оснащен JaCoCo Котлин – вторичный конструктор, который отличается одним аргументом Как сделать вызов удаленного удаленного вызова (RPC) в Котлине? Как элегантная пара родительского и дочернего тегов в определении DSL в Kotlin RecyclerView анимация элемента, onAnimationFinished, но не onAnimationStarted. Зачем? Как создать вершину с завода в VertX? Проверка метода Спящий режим Является ли Kotlin 100% совместимым с ART на Android? Обработка задачи после загрузки фрагментов