What is SBT?
It is similar to Java's Maven and Ant. Its main features are: Native support for compiling Scala code and integrating with many Scala test frameworks.
SBT is a tool in the Java Build Tools category of a tech stack.
Who uses SBT?
39 companies reportedly use SBT in their tech stacks, including Gympass, commercetools, and Eskimi.
114 developers on StackShare have stated that they use SBT.
Java, Scala, ScalaTest, JitPack, and WhiteSource are some of the popular tools that integrate with SBT. Here's a list of all 6 tools that integrate with SBT.
Pros of SBT
Support for publishing artifacts in Maven, Ivy formats
Works across Windows, Linux and MacOS
Support for Zinc and BSP
No Breaking Changes
Best for Mono-Repo and Multi-Project builds
Preference option to build Mix Scala-Java Projects
Decisions about SBT
Here are some stack decisions, common use cases and reviews by companies and developers who chose SBT in their tech stack.
What are the advantages of using Gradle over SBT for Scala projects? Currently, I am doing POC between Gradle and SBT.
SBT Alternatives & Comparisons
What are some alternatives to SBT?
See all alternatives
Gradle is a build tool with a focus on build automation and support for multi-language development. If you are building, testing, publishing, and deploying software on any platform, Gradle offers a flexible model that can support the entire development lifecycle from compiling and packaging code to publishing web sites.
Maven allows a project to build using its project object model (POM) and a set of plugins that are shared by all projects using Maven, providing a uniform build system. Once you familiarize yourself with how one Maven project builds you automatically know how all Maven projects build saving you immense amounts of time when trying to navigate many projects.
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google's software, and thus it has been designed to handle build problems present in Google's development environment.