Added by Erik Drolshammer, last edited by Erik Drolshammer on Mar 15, 2009

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

One of the reasons why some people cling to the "Everything in one project" approach is that it is convenient to build all code with a single command. This convenience can also be achieved with a so called builder project ("samlepom" in Norwegian).

  • Create a new, empty pom project. (It should not inherit from project/company pom.)
  • Add the projects you want to build as modules.

The project builder is a separate project and the modules should not be located in the same directory as the project builder pom.

Example

  
<project> 
  <modelVersion>4.0.0</modelVersion>
  <groupId>no.company.lib.builder</groupId>
  <artifactId>lib-builder</artifactId>
  <version>1</version>
  <packaging>pom</packaging>
  <name>Lib Builder</name>

  <modules>
    <module>../lib/libProject1/trunk</module>
    <module>../lib/libProject2/trunk</module>
  </modules>
</project>
The builder pom can not be used to release the projects. The maven-release-plugin requires scm and distributionManagement information, which in turn means that you must create a full-blown parent pom. This in turn means that all projects must have the same subversion path, which contradicts the purpose of having separate life cycles.

All content on this wiki is licensed under a Creative Commons Attribution 3.0 Unported License.