An overview of the plugins we use and what they do (they are defined in
Auto-generates classes containing the major/minor version number plus the current Git SHA and makes it available in the code.
Run the following to get an idea of test coverage.
sbt clean coverage test coverageReport
Check out the generated report under
target/scala-2.12/scoverage-report. Remember good coverage doesn’t always mean good tests!
The Assembly plugin will generate a “fat” jar. Run:
…to create (for example)
The Native Packager plugin will take the output of the Assembly plugin and package it up as a deployment artifact. In our case, this takes the form of a Debian package (
.deb) that can be installed via
apt-get on the Raspberry Pi.
To prepare a package, run the following:
To perform a traditional “release”, see the Release section.
We use the Proguard plugin purely to reduce the file size of the deployment artifact. It reduces the ~50MB artifact to around 10MB, which is pretty cool.
sbt site/makeMicrosite to create the site you’re reading now. Find it in
site/target/jekyll once built.
You should be able to preview the site using Jekyll to serve it.
$ cd site/target/jekyll $ jekyll serve
If you’re going to publish it (
sbt site/publishMicrosite), make sure you
site/makeMicrosite first (otherwise you’ll see a commit on the
gh-pages branch with