sbt

sbt

sbt is a build tool for Scala and Java projects that aims to do the basics well. It requires Java 1.6 or later.

Install

See the setup instructions.

Features

  • Easy to set up for simple projects
  • .sbt build definition uses a Scala-based "domain-specific language" (DSL)
  • More advanced .scala build definitions and extensions use the full flexibility of unrestricted Scala code
  • Accurate incremental recompilation using information extracted from the compiler
  • Continuous compilation and testing with triggered execution
  • Packages and publishes jars
  • Generates documentation with scaladoc
  • Supports mixed Scala/Java projects
  • Supports testing with ScalaCheck, specs, and ScalaTest (JUnit is supported by a plugin)
  • Starts the Scala REPL with project classes and dependencies on the classpath
  • Sub-project support (put multiple packages in one project)
  • External project support (list a git repository as a dependency!)
  • Parallel task execution, including parallel test execution
  • Library management support: inline declarations, external Ivy or Maven configuration files, or manual management

Getting Started

To get started, please read the Getting Started Guide. You will save yourself a lot of time if you have the right understanding of the big picture up-front. All documentation may be found via the table of contents.

The mailing list is at http://groups.google.com/group/simple-build-tool/topics and should be used for discussions and questions. Questions may also be asked at Stack Overflow.

This documentation can be forked on GitHub. Feel free to make corrections and add documentation.

If you are familiar with 0.7.x, please see the migration page. Documentation for 0.7.x has been archived here. This documentation applies to sbt 0.12.