Video

Get the Flash Player to see this video.

For the best quality, click on the zoom button in the right corner.

Playback buffering? Try the lower quality version. You can also download the mp4 version.

Additional information on sbt is available on this page.
 

sbt: Design and Implementation
Mark Harrah

sbt is a build tool for Scala. This talk is a look at the design and implementation of sbt, both in its role as a library for writing a build definition and as a build framework.
The most visible aspect of sbt is its API for defining a build definition. Build files use several DSLs, such as when constructing sets of files, forking and piping external processes, configuring library management with Ivy, and defining tasks. Behind the scenes, sbt executes as much of the build as possible in the same JVM for performance and flexibility. This includes compiling, testing, and running the project. With sbt 0.7, the version of Scala used to build a project is decoupled from the version running sbt and projects can use Scala versions from 2.7.2 through 2.8. The infrastructure required to implement this ranges from custom class loading to compiling sbt components on demand to booting with a special launcher application.