SBT may refer to:
sbt is an open source build tool for Scala and Java projects, similar to Java's Maven or Ant.
Its main features are:
- native support for compiling Scala code and integrating with many Scala test frameworks
- build descriptions written in Scala using a DSL
- dependency management using Ivy (which supports Maven-format repositories)
- continuous compilation, testing, and deployment
- integration with the Scala interpreter for rapid iteration and debugging
- support for mixed Java/Scala projects
Sbt is the de facto build tool in the Scala community, used by the Lift web framework and Play Framework.
Scala's commercial outlet, Lightbend Inc., has called sbt "arguably the best tool for building Scala projects", saying that its two most prominent features are incremental compilation and an interactive shell. When continuous compilation mode is entered, the Scala compiler is instantiated only once, which eliminates subsequent startup costs, and source file changes are tracked so that only affected dependencies are recompiled. The interactive console allows modifying build settings on the fly and entering the Scala REPL along with all class files of the project. The popularity of the incremental compilation has prompted Typesafe to extract this feature in the form of an independent component called Zinc.
Sbt had already fed back into the Scala standard library before, when its process API was adopted in Scala 2.9.