Форматтер Python-кода, который приводит исходные файлы к настраиваемому стилю с помощью алгоритма компоновки clang-format.
diffplug/spotless
Фреймворк плагинов для Gradle и Maven, который запускает форматтеры и линтеры для разных языков и типов файлов.
- Звёзды
- 5,720
- Форки
- 565
- Открытые issues
- 251
- Последний коммит
- 5 дней назад
Что это?
Spotless — плагин для систем сборки, который применяет форматтеры к исходным файлам проекта и завершает сборку с ошибкой, если файлы не отформатированы. Он работает с Gradle и Maven; плагин для SBT поддерживается отдельно. Одна команда, например spotlessApply, автоматически исправит проблемные файлы, а spotlessCheck сообщит о них — так можно проверять форматирование в CI.
Spotless поддерживает множество языков, в том числе Java, Kotlin, Groovy, Scala, JavaScript, TypeScript, SQL, YAML, Markdown, Python, C++, а также shell-скрипты. Он использует популярные форматтеры, такие как google-java-format, ktlint, Prettier, Black и clang-format, а также предоставляет универсальные шаги для замены по regex, удаления лишних пробелов, добавления заголовков лицензий и запуска произвольных нативных команд.
Проект также учитывает особенности интеграции: проверяет идемпотентность, обрабатывает кодировки и окончания строк, позволяет с помощью Git ограничить форматирование изменёнными файлами и поддерживает кэш сборки и кэш конфигурации Gradle.
Ключевые возможности
- 01Проверяет форматирование и автоматически исправляет его с помощью задач spotlessCheck и spotlessApply.
- 02Поддерживает Java, Kotlin, Groovy, Scala, JavaScript, TypeScript, SQL, YAML, Markdown и другие языки.
- 03Использует форматтеры, такие как google-java-format, ktlint, Prettier, Black и clang-format.
- 04Ограничивает форматирование заданным Git ref, обрабатывая только изменённые файлы.
- 05Предоставляет универсальные шаги для замены по regex, удаления лишних пробелов и добавления заголовков лицензий.
Сценарии использования
- Проверка единого стиля кода в CI для монорепозитория на Java или Kotlin с несколькими языками.
- Автоматическое форматирование только файлов, изменённых в pull request, во время локальной разработки.
- Добавление заголовков лицензий или применение правил сортировки импортов ко всем исходным файлам в сборке.
- Форматирование SQL, YAML или Markdown вместе с кодом приложения с помощью одного инструмента.
Быстрый старт
- 1
Добавьте плагин Spotless в сборку Gradle или Maven, следуя руководству plugin-gradle или plugin-maven
- 2
Примените форматирование с помощью Gradle
./gradlew spotlessApply - 3
Примените форматирование с помощью Maven
mvn spotless:apply
Что важно знать
- Официальная поддержка распространяется только на Gradle и Maven; интеграция с SBT предоставляется сторонними разработчиками.
- Поддержка функций и форматтеров зависит от инструмента сборки, поэтому некоторые шаги доступны только для Gradle.
В подборках
Темы
Частые вопросы
- Что такое spotless?
- Фреймворк плагинов для Gradle и Maven, который запускает форматтеры и линтеры для разных языков и типов файлов. Spotless — плагин для систем сборки, который применяет форматтеры к исходным файлам проекта и завершает сборку с ошибкой, если файлы не отформатированы. Он работает с Gradle и Maven; плагин для SBT поддерживается отдельно. Одна команда, например spotlessApply, автоматически исправит проблемные файлы, а spotlessCheck сообщит о них — так можно проверять форматирование в CI.
- spotless можно использовать бесплатно? Какая у него лицензия?
- spotless распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- spotless всё ещё поддерживается?
- Активно поддерживается. Последний коммит в spotless — 2 нояб. 2026 г..
- Для чего можно использовать spotless?
- Проверка единого стиля кода в CI для монорепозитория на Java или Kotlin с несколькими языками. Автоматическое форматирование только файлов, изменённых в pull request, во время локальной разработки. Добавление заголовков лицензий или применение правил сортировки импортов ко всем исходным файлам в сборке. Форматирование SQL, YAML или Markdown вместе с кодом приложения с помощью одного инструмента.
- Как установить spotless?
- Добавьте плагин Spotless в сборку Gradle или Maven, следуя руководству plugin-gradle или plugin-maven Примените форматирование с помощью Gradle: ./gradlew spotlessApply Примените форматирование с помощью Maven: mvn spotless:apply
- Где скачать spotless?
- Исходный код и инструкции по установке — на GitHub: https://github.com/diffplug/spotless
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Статический анализатор и форматтер кода Ruby, который проверяет соответствие Ruby Style Guide и автоматически исправляет многие нарушения.
Black — форматтер Python-кода с заданным стилем и предсказуемым результатом, который перезаписывает файлы с минимальными diff.
CLI-инструмент для PHP, который автоматически приводит код к стандартам оформления, например PER-CS и Symfony.
Утилита и библиотека для Python, которые автоматически сортируют и группируют импорты.
Плагин Gradle для публикации библиотек Java, Kotlin и Android с исходниками и javadoc в Maven Central и другие репозитории Nexus.