2005-01-20 11:54:15 +00:00

106 lines
4.1 KiB
XML

<?xml version="1.0"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<document>
<properties>
<title>Maven Gump Plug-in</title>
<author email="brett@apache.org">Brett Porter</author>
</properties>
<body>
<section name="Maven Gump Plug-in">
<p>
This plug-in generates a descriptor that allows your project to
participate in Gump builds.
</p>
<subsection name="Using the plugin">
<p>
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:
</p>
<source><![CDATA[<gumpRepositoryId>apache-incubator-svn</gumpRepositoryId>]]></source>
<p>
If you are building a descriptor for a single Maven project, run:
</p>
<source>maven gump:gump</source>
<p>
If you are using a multiproject set up, and would like to aggregate all the projects into
a single descriptor, run:
</p>
<source>maven gump:multiproject</source>
<p>
If you need to make any customisations to the output, see the "Dependencies and IDs" section that follows,
and the <a href="properties.html">Properties Reference</a>.
If the plugin does not support generating a structure that you need in the descriptor, please file an
enhancement request in <a href="http://jira.codehaus.org/browse/MPGUMP">JIRA</a>.
</p>
</subsection>
<subsection name="Dependencies and IDs">
<p>
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
<a href="http://wiki.apache.org/gump/MavenId">The Gump Wiki</a>. This page also explains
the differences between Gump and Maven IDs.
</p>
<p>
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 <code>&lt;gump.project&gt;</code>
dependency property. For example:
</p>
<source><![CDATA[<dependency>
<groupId>velocity</groupId>
<artifactId>velocity</groupId>
<version>1.4</version>
<properties>
<gump.project>jakarta-velocity</gump.project>
</properties>
</dependency>]]></source>
<p>
If you must also select a particular JAR id from Gump, you can add the <code>&lt;gump.id&gt;</code>
dependency property. For example:
</p>
<source><![CDATA[<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>]]></source>
<p>
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 <code>gump.runtime</code> property:
</p>
<source><![CDATA[<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</groupId>
<version>2.0</version>
<properties>
<gump.runtime>true</gump.runtime>
</properties>
</dependency>]]></source>
</subsection>
</section>
</body>
</document>