SBT plugin to share common settings for Scala projects at Faculty.
Currently, this plugin automatically applies these settings:
- git versioning setup (links sbt artifact versions to
git describeoutput) - integration tests (enables integration tests under
it/) - sets options for
scalaccompiler (to e.g. print specific warnings) - configures
scalafmtrules and enablessbttasks for autoformatting - configures and enables
scalastyle - sets configuration for unit tests
This plugin requires sbt 1.0.0+
Add this to project/plugins.sbt:
addSbtPlugin("ai.faculty" % "sbt-houserules" % "<plugin version>")To check that all main, test, integration test and SBT sources are correctly formatted, run:
sbt -batch scalafmtSbtCheck scalafmtCheckAll testNote: scalafmtCheckAll checks formatting of all .scala sources
(including test/ and it/). Checking .sbt files is done separately
by scalafmtSbtCheck.
Run sbt scripted for
sbt scripted tests.
Do the rules apply to this project (itself)?
No. While it would be possible and nice to apply the same rules (e.g. formatting) to this project, I believe it might lead to confusion and make it more difficult to debug.