Spotless

  • Spotless: Keep your code spotless
  • Junit5์—์„œ ์ปจ๋ฒค์…˜์„ ์ง€ํ‚ค๊ณ  ์‰ฝ๊ฒŒ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ

Install Guide

plugins {
  id "com.diffplug.gradle.spotless" version "3.28.1"
}

Setting Guide

spotless {
    java {
        // ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” import ์ œ๊ฑฐ
        removeUnusedImports()
        // ๊ณต๋ฐฑ ์ œ๊ฑฐ
        trimTrailingWhitespace()
        // Tab์œผ๋กœ ์ฒ˜๋ฆฌ(ํŒŒ๋ผ๋ฏธํ„ฐ์— ์ˆซ์ž๋ฅผ ๋„ฃ์œผ๋ฉด )
        indentWithTabs()
        // ๋๋ถ€๋ถ„ NewLine ์ฒ˜๋ฆฌ
        endWithNewline()
 
        /**
         * ์ž๋™์œผ๋กœ ๋ผ์ด์„ผ์Šค ์ถ”๊ฐ€
         */
        licenseHeader '/* Licensed under Apache Corp */'
 
        /**
         * import ์ˆœ์„œ๋„ ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
         */
        importOrder 'java', 'javax', 'org', 'com', 'com.diffplug', ''
 
        /**
         * Google Java Format์„ ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
         */
        googleJavaFormat()
    }
 
    /**
     * ํŠน์ • ํŒŒ์ผ์— ๋Œ€ํ•ด ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
     */
    format 'misc', {
        target '**/*.gradle', '**/*.md', '**/.gitignore'
 
        trimTrailingWhitespace()
        indentWithTabs()
        endWithNewline()
    }
}

Use Guide

  • ./gradlew build
    • ์ปจ๋ฒค์…˜์ด ์ง€์ผœ์ง€์ง€ ์•Š์œผ๋ฉด build๋Š” ์‹คํŒจํ•˜๊ฒŒ ๋œ๋‹ค.
  • ./gradlew spotlessApply
    • ์ •ํ•ด์ง„ ์ปจ๋ฒค์…˜์„ ์ ์šฉํ•œ๋‹ค.

๋”๋”๋” ์ž๋™ํ™”๋Š” ํ•  ์ˆ˜ ์—†์„๊นŒ?

Reference