Rock your sbt build time: Understand how sbt works
We never compile our Scala code by invoking the Scala compiler directly. There is usually some other tool between us and the Scala compiler, and therefore compilation time is very often inflated by the specific tool at hand. In the Scala ecosystem, the tool we use to compile and build our projects is generally sbt. Understanding which inefficiencies are inherent to sbt and which depend on setup is key to minimize build times. In this first instalment we lay the foundation to understand how you can optimize your build.