Gump and Maven IDs

About the ID structures

Here, I will refer to a an artifact as a single buildable entity - eg, a JAR.

In Maven, there are two identifiers for each artifact:

In Gump, there are also two identifiers for each artifact:

There is also a module name, however this is not taken into consideration when identifying the artifact.

Known Issues

There are two issues at present in matching these concepts:

  1. the project ID naturally maps to artifact ID in maven, as Maven only generates one artifact per build descriptor. This is a mismatch losing the information in group ID from Maven and JAR ID from Gump
  2. when artifact and project map one-to-one, they sometimes differ as they were created independantly in Gump and Maven.

To solve (2), the potential solutions are just to rename the projects in Maven, or rename them in Gump. It makes sense to do this in gump as most of the metadata is centralised in gumps CVS, and the gump project will see projects and be able to assist projects to update. Neither is possible in Maven: users would need to be educated to update their project descriptors. This is still a problem that will be taken on later as part of the ASF repository project.

To solve (1), one of the following can be done:

Implementing the Changes in Gump

If this is done, this is a potential solution.

  1. Change module to match the group ID definition, and project to match the artifact ID definition.
  2. When a build generates multiple JARs, each will be allocated a new artifact ID, rather than a JAR ID.
  3. dependencies will then depend on just an artifact Id.

Mapping List

This section lists the known incompatibilies between Maven ang Gump IDs, and can be used as a resource to map them within your own project. See the Maven Gump Plugin documentation for more information.

If you know of any other incompatibilities, please add them to this list.

Maven

Gump

Group ID

Artifact ID

Project ID

Jar ID

avalon-framework

avalon-framework

avalon-framework-api

-

axis

axis

ws-axis

axis

bouncycastle

bcprov-jdk14

bcprov

-

jaf

activation

jaf

-

javamail

mail

javamail

-

jaxrpc

jaxrpc-api

ws-axis

axis-jaxrpc

jetty

jetty

jetty4

-

jstl

jstl

jakarta-taglibs-standard

-

log4j

log4j

logging-log4j

-

logkit

logkit

avalong-logkit

logkit

msv

isorelax

iso-relax

-

msv

relaxngDatatype

relaxng

-

ojb

ojb

db-ojb

-

oro

oro

jakarta-oro

-

regexp

regexp

jakarta-regexp

-

saaj

saaj-api

ws-axis

axis-saaj

servletapi

servletapi

jakarta-servletapi-5-servlet

-

swt

swt

eclipse

swt

velocity

velocity

jakarta-velocity

-

xerces

xerces

xml-xerces

-

...

...

...

...

MavenId (last edited 2009-09-20 23:49:27 by localhost)