Skip to content
Havoc Pennington edited this page Oct 18, 2011 · 23 revisions

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

Features

  • Easy to set up for simple projects
  • Basic build definition uses a Scala-based "domain-specific language" (DSL)
  • More advanced full 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, start with Setup, and continue through the other Getting Started pages listed in the sidebar on the right. It's best to read in order, as later pages in the Getting Started series build on concepts introduced earlier.

Please read the Getting Started pages. You will save yourself a lot of time if you have the right understanding of the big picture up-front. Start with setup.

If you are familiar with 0.7.x, please see the migration page. Documentation for 0.7.x is still available on the Google Code Site. This wiki applies to sbt 0.10 and later.

The mailing list is at http://groups.google.com/group/simple-build-tool/topics. Please use it for questions and comments!

This wiki is editable if you have a github account. Feel free to make corrections and add documentation. Use the mailing list if you have questions or comments.

Clone this wiki locally