gump-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [Gump Wiki] Updated: MavenId
Date Sat, 08 Jan 2005 02:40:34 GMT
   Date: 2005-01-07T18:40:34
   Editor: BrettPorter
   Wiki: Gump Wiki
   Page: MavenId

   no comment

Change Log:

@@ -1,6 +1,46 @@
-= Gump and Maven ID mismatches =
+= Gump and Maven IDs =
-This page lists the known incompatibilies between Maven ang Gump IDs, and can be used as
a resource to
+== 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:
+ * group ID - this is a globally unique identifier for your product (eg velocity, gump or
+ * artifact ID - this is an identifier unique within your group ID, for each artifact (eg
velocity, velocity-utils)
+In Gump, there are also two identifiers for each artifact:
+ * project ID - this is a globally unique identifier for the SCM checkout and build to execute
+ * JAR ID - for each artifact built by the project
+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:
+ * A policy in gump where project matches the definition of group ID. Maven projects would
have to run a multiproject build, and each JAR listed with a JAR ID that matches artifact
ID. While this requires no code changes, the problems with this are:
+  * incompatible with some Maven builds
+  * incompatible with existing gump descriptors
+  * if a single JAR build fails, the whole project fails, potentially causing less of gump
to execute
+ * Code changes to gump to match the Maven ID scheme. The only one of the above problems
present in this solution is that gump descriptors will possibly need updating. 
+=== 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
+ 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.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message