Hello, I am busy creating an easy Maven2 setup for a 200+ module system, both targeted to an easier release and an easier development setup. It is a multi-level system, with common modules, service modules and presentation (web-ui) modules. I will use a simplification of this setup in this mail: pres.d -> srv.a -> common I also created a 'root' pom containing common build instructions and a property <ver-release>[9.10,9.11)</ver-release>. The root POM is released as version 9.10.0. All other modules refer to this versioned root POM as their parent POM. All modules in a release 9.10 (current release) have 9.10-SNAPSHOT as their version. When I create a release, I use the properties releaseVersion and developmentVersion to make builds numbered 9.10.0, 9.10.1, ... and then fallback to 9.10-SNAPSHOT during development. The dependencies on other internal modules are specified using the ver-release property. This means that every module depends on the latest released version of its dependencies, e.g.: pres.d:9.10-SNAPSHOT -> srv.a:9.10.3 srv.a:9.10-SNAPSHOT -> common:9.10.2 Making releases of modules gives me a complete versioned hierarchy since I create a module release containing a release-pom.xml with all the version ranges resolved to actual version. So far so good if you look at it from a release viewpoint. The problem arises trying to get my development setup in place. Developers usually have to change code spanning multiple modules in multiple layers. Let's assume that, to implement a certain feature, a developer needs to change pres.d, srv.a and common. In such a setup, I would like pres.d:9.10-SNAPSHOT to depend on srv.a:9.10-SNAPSHOT, and srv.a:9.10-SNAPSHOT to depend on common:9.10-SNAPSHOT. Well, since the indicated version is defined as aproperty, I created an active profile in my settings.xml and redeclared the ver-release property in there. Now comes the point where I think Maven is failing. Here is the output of "mvn dependency:resolve" of pres.d: [INFO] The following files have been resolved: [INFO] be.telenet.test:common:jar:9.10.4:compile [INFO] be.telenet.test:srv.a:jar:9.10-SNAPSHOT:compile
The dependency resolution correctly resolved the dependency from pres.d on srv.a to 9.10-SNAPSHOT, but it seems to ignore my overridden property and resolved the dependency from srv.a on common to the latest resolved version. All deployed SNAPSHOT versions of the POMs contain the version property, so I would expect this property to resolve to my overridden value for the complete dependency chain. Any comments? Ringo ************************************************************* Dit e-mail bericht inclusief eventuele ingesloten bestanden kan informatie bevatten die vertrouwelijk is en/of beschermd door intellectuele eigendomsrechten. Dit bericht is uitsluitend bestemd voor de geadresseerde(n). Elk gebruik van de informatie vervat in dit bericht (waaronder de volledige of gedeeltelijke reproductie of verspreiding onder elke vorm) door andere personen dan de geadresseerde(n) is verboden. Indien u dit bericht per vergissing heeft ontvangen, gelieve de afzender hiervan te verwittigen en dit bericht te verwijderen. This e-mail and any attachment thereto may contain information which is confidential and/or protected by intellectual property rights and are intended for the sole use of the addressees. Any use of the information contained herein (including but not limited to total or partial reproduction or distribution in any form) by other persons than the addressees is prohibited. If you have received this e-mail in error, please notify the sender and delete its contents. Ce courriel et les annexes �ventuelles peuvent contenir des informations confidentielles et/ou prot�g�es par des droits de propri�t� intellectuelle. Ce message est adress� exclusivement � son (ses) destinataire(s). Toute utilisation du contenu de ce message (y compris la reproduction ou diffusion partielle ou compl�te sous toute forme) par une autre personne que le(s) destinataire(s) est formellement interdite. Si vous avez re�u ce message par erreur, veuillez pr�venir l'exp�diteur du message et en d�truire le contenu. *************************************************************