*** Welcome to piglix ***

SBT (software)

sbt (Scala Build Tool, formerly Simple Build Tool)
Original author(s) Mark Harrah
Developer(s) Lightbend and the community
Stable release
1.0.0 / August 10, 2017; 30 days ago (2017-08-10)
Repository https://github.com/sbt/sbt, https://github.com/sbt/sbt.git
Written in Scala
Operating system Cross-platform
Platform Java
Type Build automation
License BSD License
Website scala-sbt.org

sbt (Scala Build Tool, formerly Simple Build Tool) is an open source build tool for Scala and Java projects, similar to Java's Maven and Ant.

Its main features are:

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.

An sbt build can be defined using a .sbt file Below is an example of .sbt build definition:

sbt may be invoked for each build command, or it may enter interactive mode if no command is given. To clean build products of the current build:

Multiple commands may be used on the same line. To run a single test named "Foo" and then publish exported jars:

The functionality of sbt can be extended through a plugin architecture. A dedicated website was set up for community contributed plugins, which cover various areas such as signing, packaging, publishing and releasing artifacts, connecting to other services such as blogs and databases, or integrating with other technologies such as deploying to the Android platform.

There are plugins to automatically create project files for the Eclipse and IntelliJ IDEA IDEs. On the other hand, an IntelliJ IDEA plugin allows the sbt console to be integrated into IDEA, and projects can choose to use sbt for building.


...
Wikipedia

...