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:
README.md
(badges included)LICENSE
build.sbt
.scalafmt.conf
.gitignore
.editorconfig
.travis.yml
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/main
directory (we avoid thescala
default subdirectory because we don't want to split by programming language). - Done! 🎉🦄🌈
You can now move to your project's directory, enter the SBT shell with the sbt
command, and run the test example with test
or t
.
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.
This 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 ./install-hooks.sh
.
- PHP
- Scala: This other bootstrap is not based in the Gitter8 template system. So you can actually clone the repo and just start coding.
This hopefully helpful utility has been developed by CodelyTV and contributors.
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.