EBuild is a software project build, dependency management, and reporting technology. The aim is to be able to tackle any build problem in a structured, declarative, and elegant way. It is written in Java, but can be used to build all manner of projects and is extensible via a plugin interface. It is best compared to something like Maven (and in some respects Ivy). It aims to overcome certain design flaws and the resultant unnecessary complexity. The EBuild build model is general, but plugins need to be written in a JVM compatible language. Existing plugins all deal with the Java ecosystem, so EBuild is most suitable for Java and mixed technology software projects.
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.