maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alessandro Evangelista <>
Subject M2: Product Modularization, transitive dependencies and versioned snapshots
Date Wed, 14 Sep 2005 11:39:13 GMT
I have being using maven 1 for sometime now. I am looking to upgrade to 
maven 2 sometime soon to benefit from the
new transitive dependencies mechanism.

I wonder whether the new maven would fit my "release engineering" model 
where a product is made of many modules possibly
with inter-dependencies.

Here an example.

Product product-X is mode or modules module-A, module-B, module-C. 
module-A, module-B and module-C are defined as 3 maven projects.

Products and modules have their own versions. For example, 
product-X-1.2.3 - which is the version 1.2.3 of product-X - depends
on module-A-1.0.0, module-B-2.3.2 and module-C-1.4.2. module-A and 
module-B depends module-C.

Now consider the scenario where a fix is made on module-C and a the new 
version 1.4.3 of module-C is released.
As a consequence a new version of product-X should be released as well: 
product-X-1.2.4. The fact that module-A and module-B depends
on module-C would force the further release of module-A-1.0.1, 
module-B-2.3.3 even if no code changed
in module-A and module-B to update the dependency of both module-A and 
module-B from module-C-1.4.3.

In general, if two or modules depends on another module module-Z and they
are included in the same product, is there mechanism to ensure that they 
all use/depend on the same version of module-Z?

The absence of such mechanism would make versioning very cumbersome and 
leave the possibility of inconsistent dependencies.

On another matter, with maven 1 snapshot jars are not versioned. There 
is no way to express that a jar is a snapshot of say
module-Z-1.2.3 rather than module-Z-1.4.0. Is there any mechanism in 
place in maven 2 to discriminate between snapshot versions?

Many thanks for your feedback.

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

View raw message