sbt is a simple build tool for Scala projects that aims to do the basics well. It requires Java 1.5 or later.
Features
* Fairly fast, unintrusive, and easy to set up for simple projects
* Configuration is done in Scala
* The default source directory layout is the same as maven's so you can always switch to maven should you need/want to
* Regardless of what sources you have added, changed, or removed, sbt should (in theory) recompile the right sources using information extracted from compilation with a compiler plugin
* Supports ScalaCheck, specs, and ScalaTest.
* Can generate documentation with scaladoc
* Packages jars (classes, sources, or api docs)
* Can start the Scala interpreter with the right classpath (dependencies and compiled classes)
* Multiple project/subproject support
* Parallel task execution, including parallel test execution
* Dependency management support: basic inline declarations, configuration with Maven (partial support) or Ivy, or manual management.
This plugin for Maven 2 is based on the BND tool from Peter Kriens. The way BND works is by treating your project as a big collection of classes (e.g., project code, dependencies, and the class path). The way you create a bundle with BND is to tell it the content of the bundle's JAR file as a subset of the available classes. This plugin wraps BND to make it work specifically with the Maven 2 project structure and to provide it with reasonable default behavior for Maven 2 projects.
Since the 1.4.0 release, this plugin also aims to automate OBR (OSGi Bundle Repository) management. It helps manage a local OBR for your local Maven repository, and also supports remote OBRs for bundle distribution. The plug-in automatically computes bundle capabilities and requirements, using a combination of Bindex and Maven metadata.