Repolode
diffplug

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. 1

    Добавьте плагин Spotless в сборку Gradle или Maven, следуя руководству plugin-gradle или plugin-maven

  2. 2

    Примените форматирование с помощью Gradle

    ./gradlew spotlessApply
  3. 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 обновляется ежедневно.

Похожие проекты