Каждый из нас уже использует какой-нибудь линтер в среде разработки, будь то Android Studio, IntelliJ IDEA или что-то еще. Ktlint — дополнительный линтер для Kotlin со встроенным автоформаттером, созданный и поддерживаемый Pinterest.
В чем преимущества Ktlint?
- Включает множество дополнительных проверок правил, не учтенных в IDE.
- Обеспечивает соблюдение правил с помощью CI-проверок.
- Не требуется специальной конфигурации, при этом сохраняется возможность использования
editorconfig
.
- Предлагает кастомизацию линтинга за счет установления пользовательских наборов правил.
- Решает большинство проблем с помощью встроенного форматтера.
- Благодаря совместимости со средами разработки, значительно упрощает работу с кодовой базой.
- Гарантирует быстрое включение и выключение правил проверки соблюдения стандартов оформления кода с предельной точностью.
Теперь, убедившись в фантастических возможностях 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
Читайте также:
- Настройка Detekt с помощью каталога версий и convention-плагина
- UseCase: лучшие практики чистой архитектуры и красные флаги
- Какую архитектуру выбрать — с единой или множеством Activity?
Читайте нас в Telegram, VK и Дзен
Перевод статьи Michal Ankiersztajn: How ktlint Makes Developers Lives Easier