Lattice is a Java build system with strong multi-module support. Build files are written not in XML, but in the Python language. The benefits are much better readability and powerful imperative build scripting. For multi-module projects, Lattice uses topological sorting to decide the correct order to build each module. Because a custom task is just a regular Python function, they can perform any type of work, including invoking other Java build systems such as Ant, Maven, or Ivy.
The maven-buildmetadata-plugin is a Maven 2 plugin that helps you easily add build metadata to generated archive artifacts. When a product is running on an application server, this tool can tell you which version of which artifact is currently running on that server, which artifact maps to which source code version in the SCM repository, what configuration set (including profiles and environment variables) has been used to generate the artifact, on which machine was the artifact built, and when was the artifact built. The provided metadata include SCM information, build time, operating system, Java runtime, Maven execution information, build user, build host name, and build version.