SBuild is a Scala-based build system. It features platform independence, multi project support, automatic detection of needed actions, automatic up-to-date detection, a flexible scheme handler mechanism, Maven repository support, Ant task integration, automatic cross-project resolving of dependencies, high speed, a simple "syntax" that requires almost no Scala knowledge, behind-the-sceens compilation of build script to bytecode for fast execution time, and built-in scheme handlers for HTTP and Maven.
| Tags | Java build system Build Tools Scala |
|---|---|
| Licenses | Apache 2.0 |
| Operating Systems | Windows Linux Mac OS X |
| Implementation | Scala CmdOption |
Recent releases


Release Notes: New features and speed improvements. Up-to-date state calculation of phony targets is now based on (virtual) lastModified timestamps, which can be overridden in a target via TargetContext. Phony targets can now be cached; SBuild will not reexecute them if the dependencies or the project file did not change. Additional files can be attached to targets. Empty phony targets will automatically attach all files of their dependencies and last but not least, the SBuild comand line has been improved. Essential information is highlighted with colors, and error message output has been enhanced.


Release Notes: Common scheme handlers (mvn, http, zip) are now registered by default, but can be overridden as usual. All by-default registered scheme handlers can now be used in @classpath and @include elements. The behavior of the --version command line option has changed; it now exists the application as expected. This release adds a new AntZipFileSet for convenience when using AntZip. It adds a new ScalaRepl add-on providing access to the interactive Scala console. It fixes issues in the parser for @classpath and @include.


Release Notes: This release adds the ability to translate/resolve (any) target ref(s) to files. It changes the default to not use fsc when compiling build files, and adds a new command line option "--fsc" to enable fsc. Paths and file dependencies pointing to symbolic links will be no longer implicitly resolved. An up-to-date detected issue in ZipSchemeHandler where a ZIP entry was always re-extracted has been fixed. A bug in ZipSchemeHandler has been fixed where extraction of files that don't exist in the ZIP file were silently ignored. There is a ew BndJar Addon to generate OSGi Bundles based on bndlib. The Windows start script has been fixed.


Release Notes: This release switches to Scala 2.10. Execution is now more robust.


Release Notes: This release adds the new @inlcude annotation to include other Scala files into the build file. Thus, one can share common configuration and build logic between projects. The API for TargetContext was extended. A new --quiet option was added that will drastically speed up SBuild's initialization time for larger multi-projects. Some new parameters were added to the AntJava wrapper and the ScalaTest addon.