Monday, May 25, 2009

SBT: Simple Build Tool

I have been complaining about Ant and Maven for years. I don't use these tools because I like them. I use them because there haven't been many alternatives. But that is changing with a new tool called Simple Build Tool: SBT.

SBT is written in Scala (my favorite language of the week). But it can build Scala apps or Java apps. I don't have time to go into all that I like about it. But here are a few highlights:
  1. The language used for build scripts is the same as the language being built: Scala
  2. It is completely and easily extensible - using Scala. The key here is the easy part.
  3. Great docs! The project is fairly new, but already the documentation is better than that from Ant or Maven
  4. It is compatible with Maven repositories and POM files
  5. It is compatible with Ivy
  6. SBT eliminates most of the unnecessary boilerplate and noise code required with Ant and Maven
  7. The project owner, Mark Harrah, is very talented and committed to this project
  8. Support is excellent. Mark personally replies to all messages on Google Groups
  9. Bugs and feature requests are addressed quickly
  10. It's fast. Building my project in SBT is much faster then Maven - I'm not sure why, but it is.
For more info:

Project Home:
Google Groups:

1 comment:

Mark Harrah said...


Thanks for the kind words! I do like good documentation, so documentation requests are as welcome as regular feature requests and bug reports. I think features aren't much good if you don't know they exist or how to properly use them.

As for the why, sbt has four approaches to speed: the interactive interface, proper partial recompilation, minimal forking, and parallelism (if you enable it). I am glad to hear that you notice the difference.