/quickstart-scala-sbt.g8

An opinionated quickstart of how to use scala with sbt. A giter8 template for usage with sbt new. Includes testing, building, running, logging, configuration, argument parsing, and more.

Primary LanguageScalaOtherNOASSERTION

A Giter8 template for production-grade scala-sbt starter code for usage with sbt new

Build Status

For more information (quite a lot of information) about what's included in this quickstart, refer to /src/main/g8/README.md.

This information will come along with the template, so you may just want to get on with that.

To get started immediately:

sbt new sbchapin/quickstart-scala-sbt.g8

Execute the preceding sbt command wherever you want to start a new scala-sbt project. It will create a new folder in your active directory.

It will ask you three questions:

  • name - will be formatted to the correct type in necessary places (META-INF, packages, README...)
  • organization - must be in the reverse-namespace format.
  • package - must be in the reverse-namespace format (will default to the last two fields intelligently.)

Requires:

To develop this:

# Fork it: (https://blog.scottlowe.org/2015/01/27/using-fork-branch-git-workflow/)
# ...then...
# Get your fork:
git clone git@github.com:{YOUR_NAME_HERE}/quickstart-scala-sbt.g8.git
cd quickstart-scala-sbt.g8
git remote add upstream git@github.com:sbchapin/quickstart-scala-sbt.g8.git

# Test it continuously: (will extract the project then run tests inside extracted project)
sbt ~test

# Change it:
git checkout -b cool-feature-branch
echo 'Sam sucks' >> README.md
git commit -am 'Stating the evident'

# Test it one last time:
sbt test

# Push it:
git push origin cool-feature-branch

# Pull request it:
# https://github.com/sbchapin/quickstart-scala-sbt.g8/pulls

LICENSE

This template is distributed without any warranty and dedicated to public domain under the CC0 1.0 Universal (CC0 1.0) Public Domain Dedication license.