SBuild provides a magic-less build configuration for reproducible builds.
SBuild is a fast and reliable build system most suitable for projects targeting the JVM. SBuild itself and the buildfiles are written in Scala. But typical build system maintenance tasks require almost no special Scala knowledge.
SBuild is a Scala-based open source build tool with a focus on speed, flexibility and reproducibility.
By parallel execution of build steps and automatic change detection SBuild enables very short build times and rapid incremental builds.
Project scripts will be automatically compiled on the first run. Subsequent SBuild invocations will execute these compiled scripts almost instantly.
With a growing number of available plugins SBuild encourages standardized project setups, but without compromising flexibility. At any time, you can customize your build when needed.
SBuild does not make any assumptions about your build environment. It does not guess settings or additional buildfiles. You can always know what it will do based on one single entry point: the buildfile. Your co-workers and your CI team will thank you afterwards.
We believe, this is a requirement to achieve stable and reproducible builds over time.
SBuild integration capabilities allow tools like Ant tasks, Eclipse Aether (Maven) or Adept to integrate seamlessly.
SBuild’s plugin container is capable to isolate plugin implementations, so that plugins will not interfere with others. Each plugin has fine control which API’s it will export to it’s consumer.
We released SBuild 0.7.7 which fixed a potential thread deadlock issue.
We released SBuild 0.7.6 for a smooth ScalaDays Hackathon experience. It brings various fixed for the 0.7.x line.
This maintenance release of the SBuild Eclipse Plugin improves the error highlighting in the buildscript editor and fixes some refresh problems.
Going to the ScalarConf in Warsaw, Poland from Leipzig, Germany takes a lot of time. We used it wisely and made another SBuild release.
SBuild 0.7.4 fixes a potential deadlock issue in 0.7.2 and 0.7.3.