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

Reply via email to