Repolode
diffplug

diffplug/spotless

여러 언어와 파일 형식에 코드 포매터와 린터를 적용하는 Gradle 및 Maven용 빌드 플러그인 프레임워크입니다.

스타
5,722
포크
567
열린 이슈
251
마지막 커밋
6시간 전

어떤 프로젝트인가요?

Spotless는 프로젝트의 소스 파일에 코드 포매터를 적용하고, 파일 형식이 올바르지 않으면 빌드를 실패시키는 빌드 도구 플러그인입니다. Gradle과 Maven에서 사용할 수 있으며, SBT 플러그인은 별도로 관리됩니다. spotlessApply 같은 명령 하나로 형식이 잘못된 파일을 다시 쓰고, spotlessCheck로 해당 파일을 찾아 CI에서 포맷을 강제할 수 있습니다.

Spotless는 Java, Kotlin, Groovy, Scala, JavaScript, TypeScript, SQL, YAML, Markdown, Python, C++, 셸 스크립트 등 폭넓은 언어를 지원합니다. google-java-format, ktlint, Prettier, Black, clang-format 등 널리 쓰이는 포매터를 래핑하며, 정규식 치환, 공백 제거, 라이선스 헤더 적용, 임의의 네이티브 명령 실행을 위한 범용 단계도 제공합니다.

이 프로젝트는 멱등성 검사, 인코딩 및 줄바꿈 처리, 변경된 파일만 포맷하는 Git 기반 ratcheting, Gradle 빌드 캐시 및 구성 캐시 지원 등 통합과 관련된 문제도 처리합니다.

핵심 기능

  • 01spotlessCheck 및 spotlessApply 태스크로 포맷을 검사하고 자동 수정합니다.
  • 02Java, Kotlin, Groovy, Scala, JavaScript, TypeScript, SQL, YAML, Markdown 등을 지원합니다.
  • 03google-java-format, ktlint, Prettier, Black, clang-format 등의 포매터를 래핑합니다.
  • 04Git ref를 기준으로 포맷 적용 범위를 좁혀 변경된 파일만 처리합니다.
  • 05정규식 치환, 공백 제거, 라이선스 헤더 적용을 위한 범용 단계를 제공합니다.

활용 사례

  • CI에서 여러 언어를 사용하는 Java 또는 Kotlin 모노레포의 코드 스타일을 일관되게 유지합니다.
  • 로컬 개발 중 pull request에서 변경된 파일만 자동으로 포맷합니다.
  • 빌드에 포함된 모든 소스 파일에 라이선스 헤더를 적용하거나 import 순서를 정리합니다.
  • 애플리케이션 코드와 함께 SQL, YAML, Markdown도 하나의 도구로 포맷합니다.

빠른 시작

  1. 1

    plugin-gradle 또는 plugin-maven 가이드에 따라 Gradle 또는 Maven 빌드에 Spotless 플러그인을 추가합니다

  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의 마지막 커밋은 2026년 11월 7일입니다.
spotless은(는) 어디에 사용할 수 있나요?
CI에서 여러 언어를 사용하는 Java 또는 Kotlin 모노레포의 코드 스타일을 일관되게 유지합니다. 로컬 개발 중 pull request에서 변경된 파일만 자동으로 포맷합니다. 빌드에 포함된 모든 소스 파일에 라이선스 헤더를 적용하거나 import 순서를 정리합니다. 애플리케이션 코드와 함께 SQL, YAML, Markdown도 하나의 도구로 포맷합니다.
spotless는 어떻게 설치하나요?
plugin-gradle 또는 plugin-maven 가이드에 따라 Gradle 또는 Maven 빌드에 Spotless 플러그인을 추가합니다 Gradle로 포맷을 적용합니다: ./gradlew spotlessApply Maven으로 포맷을 적용합니다: mvn spotless:apply
spotless은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/diffplug/spotless

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트