/spotless

Keep your code spotless with Gradle

Primary LanguageJavaApache License 2.0Apache-2.0

Spotless: Keep your code spotless

Travis CI Live chat License Apache

Spotless can format <java | markdown | license headers | anything> using <gradle | maven | anything>.

Ideally, a code formatter can do more than just find formatting errors - it should fix them as well. Such a formatter is really just a Function<String, String>, which returns a formatted version of its potentially unformatted input.

It's easy to build such a function, but there are some gotchas and lots of integration work (newlines, character encodings, idempotency, and build-system integration). Spotless tackles those for you so you can focus on just a simple Function<String, String> which can compose with any of the other formatters and build tools in Spotless' arsenal.

Current feature matrix

Feature / FormatterStep plugin-gradle plugin-maven (Your build tool here)
generic.EndWithNewlineStep πŸ‘ ⬜ ⬜
generic.IndentStep πŸ‘ ⬜ ⬜
generic.LicenseHeaderStep πŸ‘ ⬜ ⬜
generic.ReplaceRegexStep πŸ‘ ⬜ ⬜
generic.ReplaceStep πŸ‘ ⬜ ⬜
generic.TrimTrailingWhitespaceStep πŸ‘ ⬜ ⬜
groovy.GrEclipseFormatterStep πŸ‘ ⬜ ⬜
java.GoogleJavaFormatStep πŸ‘ ⬜ ⬜
java.ImportOrderStep πŸ‘ ⬜ ⬜
java.EclipseFormatterStep πŸ‘ ⬜ ⬜
kotlin.KtLintStep πŸ‘ ⬜ ⬜
markdown.FreshMarkStep πŸ‘ ⬜ ⬜
scala.ScalaFmtStep πŸ‘ ⬜ ⬜
(Your FormatterStep here) ⬜ ⬜ ⬜
Fast up-to-date checking πŸ‘ ⬜ ⬜
Automatic idempotency safeguard πŸ‘ ⬜ ⬜

Acknowledgements