So, being inexperienced, my intention is to find some solution that:
1. makes it possible (even if playing exclusion games is needed) to use both JDOM 1.x and 2.x in a maven project (currently it is not). 2. 'salvages' the current mess as simply as possible for the 'typical' maven user. 3. is something I can describe on the jdom website and expect people to understand how to get it right... ( I don't want to have to do 'maven support' ;-) The way I understand things is that once I deploy to a second artifact (either deploy JDOM 2.x to 'jdom2' artifact, or alternately deploy JDOM 1.x to 'jdom1' artifact), then users can 'exclude' any conflicting dependencies from their 'required' third-party projects, and substitute them with the ones from the 'alternate' artifact. In my head it seems that creating a jdom1 artifact would be very stable (I do not expect any more 1.x JDOM releases....), and then people can 'stick' with the 'jdom' artifact, and if they run in to problems they can play the 'exclusion' game with the jdom 1.x dependencies, and replace them with the jdom1 dependency. This 'keeps it simple' for the typical user, but still makes it possible for the 'conflicted' user to get their jars.... ? right? But, would that be 'sensible'? Would a maven user 'follow' that logic? I am not really in any position to have firm opinions on this. The only preferences I have would be: 1. I want the official JDOM release (on www.jdom.org) to be identical to the releases on maven - I don't want to have different jar names, etc. The www.jdom.org release is the 'official' release, and maven is a 'mirror'. 2. I would prefer to continue calling it jdom-2.0.2.jar instead of jdom2-2.0.2.jar - to keep consistency with what we have already done.... but this is a lower priority. Thanks for the insights so far .... Rolf On Tue, 29 May 2012 15:00:54 +0100, Stephen Connolly <stephen.alan.conno...@gmail.com> wrote: > On 29 May 2012 14:53, Curtis Rueden <ctrue...@wisc.edu> wrote: >> Hi Rolf, >> >> >>> Unfortunately, there are already some 'third party' packages that depend >>> on jdom 2.0.1, and thus, people using the new jdom2 2.0.2 will have two >>> different versions of the same jar .... right? ... which is perhaps >>> worse >>> than not having it at all ... ;-) >>> >> >> Since your goal is to allow JDOM 1.x and JDOM 2.x in the same JVM from a >> Maven project, publishing as org.jdom:jdom2:2.0.x seems like the way to >> go. >> You can continue publishing org.jdom:jdom:2.0.x as well; the duplication >> does not really cause any problems other than potential confusion. > > Curtis, > > the issue is transitive version resolution. If one of your > dependencies depends on org.jdom:jdom:1.x and the other depends on > org.jdom:jdom:2.x then you're going to end up with something broken as > maven will resolve only one version of org.jdom:jdom... so you will > end up having to play the exclusions game to stop that version being > pulled in and manually add a dependency to org.jdom:jdom2... > > this is why one of the major feature adds I want to get into maven 4 > is a provides scope. > >> As long >> as you document why org.jdom:jdom2 exists, it seems fine to me. >> >> -Curtis >> >> >> On Mon, May 28, 2012 at 5:15 PM, Rolf Lear <j...@tuis.net> wrote: >> >>> Unfortunately, there are already some 'third party' packages that depend >>> on jdom 2.0.1, and thus, people using the new jdom2 2.0.2 will have two >>> different versions of the same jar .... right? ... which is perhaps >>> worse >>> than not having it at all ... ;-) >>> >>> Rolf >>> >>> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org