Andrew O'Malley has posted
Quokka 0.3, "an open source Java build system, hoping to overcome many of the annoyances and limitations of Maven."
According to O'Malley, key features include
- Modular Builds: Build tasks such as compilation, or source code formatting are packaged into plugins. Each project can be tailored to include specific plugins as required. Build configurations (including plugins, dependencies and other resources) can be bundled into a dependency set for re-use amongst projects. Projects can include any number of such dependency sets, and sets may nest other sets within them, providing varying degrees of reuse.
- Fine-grained Dependency Management: Quokka allows any number of paths of dependencies to be defined for use within a project. Selected paths can also be exported to the repository for reuse within other projects. If your project depends on another project, Quokka can automatically include its dependencies recursively. In such cases you have full control down to any level as to which dependencies are included using Path Specifications.
- Extensibility: Ad hoc targets can be added using standard Ant files. Alternatively, ad hoc targets may be written in a variety of scripting languages via the Script plugin
- Reproducible Builds: Quokka uses bootstrapping, a versioned global repository, explicit plugin and dependency versions, and a Release plugin to ensure that builds are reproducible. i.e. Building a 6 month old branch from version control today will result in exactly the same build as when it was intially checked in.