Skip to content
Havoc Pennington edited this page Oct 19, 2011 · 34 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.

Install

See the install 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, read the Getting Started Guide.

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.

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.