Skip to content

nsutcliffe/spotless

Repository files navigation

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 👍
java.GoogleJavaFormatStep 👍
java.ImportOrderStep 👍
java.EclipseFormatterStep 👍
markdown.FreshMarkStep 👍
(Your FormatterStep here)
Fast up-to-date checking 👍
Automatic idempotency safeguard 👍

Acknowledgements

  • Huge thanks to Jonathan Bluett-Duncan for
    • implementing up-to-date checking #31
    • breaking spotless into libraries #56
    • lots of other things, but especially the diff support in spotlessCheck
  • Formatting by Eclipse
    • Special thanks to Mateusz Matela for huge improvements to the eclipse code formatter!
  • Originally forked from gradle-format-plugin by Youri Bonnaffé.
  • Thanks to Gábor Bernát for improvements to logging and multi-project support.
  • Thanks to Andrew Oberstar for improvements to formatting java source in non-java source sets. PR #60.
  • Import ordering from EclipseCodeFormatter.
  • Built by gradle.
  • Tested by junit.
  • Maintained by DiffPlug.

About

Keep your code spotless

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.6%
  • HTML 1.3%
  • Shell 0.1%