sbt-java-formatter
sbt-java-formatter copied to clipboard
An sbt plugin for formating Java code
sbt-java-formatter 
An sbt plugin for formatting Java code. This plugin began as a combination of ideas from this blog post and this maven plugin, though it has evolved since.
Usage
Add the plugin to project/plugins.sbt:
addSbtPlugin("com.lightbend.sbt" % "sbt-java-formatter" % --latest version---)
For available versions see releases.
-
javafmtformats Java files -
javafmtAllformats Java files for all configurations (CompileandTestby default) -
javafmtCheckfails if files need reformatting -
javafmtCheckAllfails if files need reformatting in any configuration (CompileandTestby default) -
The
javafmtOnCompilesetting controls whether the formatter kicks in on compile (falseby default). -
The
javafmtStylesetting defines the formatting style: Google Java Style (by default) or AOSP style.
This plugin requires sbt 1.3.0+.
Enable in other scopes (eg IntegrationTest)
The sbt plugin is enabled by default for the Test and Compile configurations. Use JavaFormatterPlugin.toBeScopedSettings to enable the plugin for the IntegrationTest scope and then use It/javafmt to format.
inConfig(IntegrationTest)(JavaFormatterPlugin.toBeScopedSettings)
Configuration
This plugin uses the Google Java Format library, which makes it quite opinionated and not particularly configurable.
If you want to tweak the format, take a minute to consider whether it is really worth it, and have a look at the motivations in the Google Java Style Guide. If you decide you really need more flexibility, you could consider other plugins such as the sbt-checkstyle-plugin
Contributing
Yes, we'll happily accept PRs to improve the plugin. We expect you to adhere to the Lightbend Community Code of Conduct and to sign the Lightbend Contributor License Agreement - CLA.
Take a look at the contributors graph if you want to contact any of the contributors directly.
License
Apache v2