Настройка ktlint #
ktlint — инструмент автоматической проверки исходного кода на соответствие правил его оформления. Обеспечивает единообразное написание исходного кода внутри одной команды.
Добавление поддержки в систему сборки Gradle #
Запуск задач проверки кода должен осуществляться вместе с задачами по запуску приложения. В рамках курса используется система сборки Gradle.
Предлагается использовать дополнение Ktlint Gradle следующим образом.
Необходимо добавить плагин в конфигурацию build.gradle.kts
:
plugins{
id("org.jlleitschuh.gradle.ktlint") version "13.0.0"
}
Внутри конфигурации необходимо указать версию инструмента. Для этого в файле gradle.properties
укажите версию инструмента:
ktlintVersion=1.7.1
И в build.gradle.kts
необходимо указать используемую версию инструмента:
val ktlintVersion: String by project
ktlint {
version.set(ktlintVersion)
}
Настройка инструмента ktlint #
Ktlint поддерживает несколько стандартов оформления. Настройка производится
путём формирования файла .editorconfig
, который должен располагаться рядом с
файлами конфигурации системы сборки Gradle build.gradle.kts
.
В рамках курса необходимо использовать следующую конфигурацию для данного файла:
root = true
[*]
insert_final_newline = true
[{*.kt,*.kts}]
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL
# Disable wildcard imports entirely
ij_kotlin_name_count_to_use_star_import = 2147483647
ij_kotlin_name_count_to_use_star_import_for_members = 2147483647
ij_kotlin_packages_to_use_import_on_demand = unset
Настройка форматирования в IDEA #
После успешной конфигурации необходимо выполнить в соответствии с официальным
руководством.
Данная настройка позволит значительно уменьшить количество исправлений в
исходном коде, чтобы оно соответствовало требованиям статического анализатора
ktlint
.
Также можно установить официальный плагин для IDEA.
Запуск проверки исходного кода с помощью ktlint #
К сожалению для эффективной работы данного инструмента необходимо придерживаться следующих требований:
- Исходные коды проекта должны находится в каталоге, в пути к которому нет русских символов.
Следующей особенностью дополнения к Gradle является то, что проверка исходных
кодов может не пройти из-за кеширования результатов запуска. Поэтому перед
выполнением задачи ktlintCheck
необходимо выполнить задачу clean
:
./gradlew clean ktlintCheck