Каждый из нас уже использует какой-нибудь линтер в среде разработки, будь то Android Studio, IntelliJ IDEA или что-то еще. Ktlint — дополнительный линтер для Kotlin со встроенным автоформаттером, созданный и поддерживаемый Pinterest.

В чем преимущества Ktlint?

  1. Включает множество дополнительных проверок правил, не учтенных в IDE.
  1. Обеспечивает соблюдение правил с помощью CI-проверок.
  1. Не требуется специальной конфигурации, при этом сохраняется возможность использования editorconfig.
  1. Предлагает кастомизацию линтинга за счет установления пользовательских наборов правил.
  1. Решает большинство проблем с помощью встроенного форматтера.
  1. Благодаря совместимости со средами разработки, значительно упрощает работу с кодовой базой.
  1. Гарантирует быстрое включение и выключение правил проверки соблюдения стандартов оформления кода с предельной точностью.

Теперь, убедившись в фантастических возможностях Ktlint, хотите внедрить этот инструмент в проект?

Установка Ktlint

Чтобы получить пример репозитория, можете клонировать этот проект: https://github.com/AndroBrain/KtlintExample.

1. Объявление плагина

Объявите плагин в libs.versions.toml:

[versions]
# Это самая последняя версия на момент написания статьи.
ktlint = "12.1.1"
[plugins]
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }

Последнюю версию Ktlint можно найти здесь.

2. Установка плагина

Установка внутри проекта build.gradle:

plugins {
alias(libs.plugins.ktlint) apply false
...
}

Установка внутри модуля build.gradle:

plugins {
alias(libs.plugins.ktlint)
...
}

ktlint { // Характеристика ключевых точек конфигурации, поэтому вам даже не нужно добавлять это
android = true
ignoreFailures = false // Нужно было отменить сборку вместо того, чтобы просто осуществлять вывод
reporters {
reporter(ReporterType.PLAIN)
reporter(ReporterType.HTML)
reporter(ReporterType.SARIF)
}
}

Если работаете в многомодульной среде и хотите добавить плагин в каждый из них, пропишите его в проекте build.gradle внутри подпроектов.

3. Запуск Ktlint

Самый простой способ запустить Ktlint — открыть Gradle > Execute Gradle Task:

Должно появиться окно, внутри которого надо написать ktlintCheck:

Если хотите использовать автоматическое форматирование, измените эту запись на ktlintFormat:

Вы получите ошибку, если что-то не подлежит безопасному автоформатированию:

Если вам нужна версия команды, которая может быть использована для вашей системы CI, выполните следующее:

./gradlew ktlintCheck

Читайте также:

Читайте нас в Telegram, VK и Дзен


Перевод статьи Michal Ankiersztajn: How ktlint Makes Developers Lives Easier

Предыдущая статьяПутешествие c LLM: от PoC к производству