Release date: 2013-03-09



Changes since SBuild 0.3.2

  • Fixed --dependencyTree not showing up on when not used with --verbose.

  • Added new commandline option --list-modules to show a list of all involved modules (sub-projects).

  • Based up-to-date detection of phony targets on virtual last modified time stamps instead of boolean marker.

  • Reworked preorder dependency algorithm.

  • Improved internally used download function, which now handles successful download more efficiently and does not leave temp file on download failures. This improves all scheme handlers as well.

  • Added new commandline options --check and --check-recursive to check all defined targets for cycles and potentially missing scheme handlers. This will also detect projects with cacheable targets, that do not define an evictCache target.

  • Added new class Module which can be used to easily create target references to targets in that module with Module.targetRef(String) and Module.targetRefs(String*).

  • Module(String) and Modules(String*) now return a Module resp. a Seq[Module].

  • Deprecated Module.apply(String*) as the return value differs from Module.apply(String), which is not obvious. Use Modules.apply(String*) instead.

  • Build script compiler now emits deprecation warnings.

  • SBuild now has slightly colored output based on, which can be disabled with --no-color command line option.

  • Improved error reporting on the commandline.

  • Added TargetContext.attachFile to attach additional file(s) to a target. Those files are now also included in the return value of TargetRef.files.

  • TargetRef.files can now only be used inside a Target execution, and only on dependencies that are declared in dependsOn of that executing target.

  • Added TargetContext.prerequisitesLastModified to retrieve the effective lastModified value of all declared dependencies.

  • New ScanSchemeHandler, to scan a directory, based on a pattern and attach all found files to the target context. That way, one can depend on a set of files, considering their up-to-dateness.

  • New (experimental) embedded API, dedicated to SBuild embedding, e.g. in SBuild Eclipse Plugin

  • Fixed return value handling in shell wrapper, resulting in sbuild command line application always returning 0.

  • Updated German translations.

  • Improved tolerance for truncated last modified time stamps of files.

  • Also print the target self description when executing, if any.

  • Added support for additional commandline options via environment variable SBUILD_OPTS.

  • Added new command line options --just-clean and --just-clean-recursive to delete all .sbuild state directories (recursive) without checking and reading any SBuild build file.

  • Cache Scala compiler instance when reading projects, to improve compilation speed for build files.

  • Dramatic speedup of dependency tree traversal.

  • New Javac addon.

  • Support for newer bndlib in BndJar addon.

  • Added method Module.apply to construct TargetRef.

  • Empty phony targets now automatically attach their dependencies files to their own target context.

All Releases: Release History