CodelyTV Scala Bootstrap (g8 template)
This is a Giter8 template intended to serve as a starting point if you want to bootstrap a project in Scala.
It could be useful if you want to start a kata, a little exercise or project from scratch. The idea is that you don't have to worry about the boilerplate, just run
sbt new codelytv/scala-bootstrap-template.g8 and you're ready to go:
- Latest versions of Scala, SBT and ScalaTest in order to practice with them
- Best practices applied:
How To Start
Video screencast (in Spanish)
- Install the JDK & SBT tools
- Create your new project:
sbt new codelytv/scala-bootstrap-template.g8
- Set your project parameters. When you run the previous command, you'll be asked for the project parameters such as the Scala language version, the project name and package, and so on.
- Move to your project folder and start coding! The template will leave you an example class just to get started quicker in the
src/maindirectory (we avoid the
scaladefault subdirectory because we don't want to split by programming language).
🎉 🦄 🌈
You can now move to your project's directory, enter the SBT shell with the
sbt command, and run the test example with
Pre-push Git hook
There's one Git hook included. It's inside the
doc/hooks folder and it will run the
prep SBT task before pushing to any remote.
prep task is intended to run all the checks you consider before pushing. At this very moment, it try to compile and check the code style rules with ScalaFmt.
You can define what this task does modifying the
prep task in the
build.sbt file. We like the approach of just running 1 single SBT task as the hook instead of multiple tasks because it's more efficient (the hook doesn't have to run SBT multiple times), and also because this way we can control the pre push tasks with the SBT alias defined at the
build.sbt without altering the hooks.
If you want to install this hook, just
cd doc/hooks and run
Other programming languages
- Scala: This other bootstrap is not based in the Gitter8 template system. So you can actually clone the repo and just start coding.
We'll try to maintain this project as simple as possible, but Pull Requests are welcome!
The MIT License (MIT). Please see License File for more information.