Apache Maven 1.x has reached its end of life, and is no longer supported. For more information, see the announcement. Users are encouraged to migrate to the current version of Apache Maven.

Maven Gump Plug-in

This plug-in generates a descriptor that allows your project to participate in Gump builds.

Using the plugin

Generating the gump descriptor should require few modifications to your project. The most important addition is that of the Gump repository ID to your project file. This tells Gump where to checkout the source code from. For example:

<gumpRepositoryId>apache-incubator-svn</gumpRepositoryId>

If you are building a descriptor for a single Maven project, run:

maven gump:gump

If you are using a multiproject set up, and would like to aggregate all the projects into a single descriptor, run:

maven gump:multiproject

If you need to make any customisations to the output, see the "Dependencies and IDs" section that follows, and the Properties Reference. If the plugin does not support generating a structure that you need in the descriptor, please file an enhancement request in JIRA.

Dependencies and IDs

Ideally, the Maven project IDs should match those used by Gump - however this is not always the case. For a list of known mismatches, see The Gump Wiki. This page also explains the differences between Gump and Maven IDs.

Normally, the plugin will map the artifact ID of a dependency to the project name in Gump. The group ID is not used. To force the plugin to match a certain Gump project, add the <gump.project> dependency property. For example:

<dependency>
  <groupId>velocity</groupId>
  <artifactId>velocity</groupId>
  <version>1.4</version>
  <properties>
    <gump.project>jakarta-velocity</gump.project>
  </properties>
 </dependency>

If you must also select a particular JAR id from Gump, you can add the <gump.id> dependency property. For example:

<dependency>
  <groupId>axis</groupId>
  <artifactId>axis</groupId>
  <version>1.0</version>
  <properties>
    <gump.project>ws-axis</gump.project>
    <gump.id>axis</gump.id>
  </properties>
 </dependency>

Gump requires that you specify any dependency that is required at runtime. This is usually only required if another project is depending on your project, and not declaring the dependency itself. To enable runtime inheritence for a dependency, add the gump.runtime property:

<dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</groupId>
  <version>2.0</version>
  <properties>
    <gump.runtime>true</gump.runtime>
  </properties>
 </dependency>