Le 24/11/2010 18:44, sebb a écrit :
> On 24 November 2010 17:01, Luc Maisonobe <luc.maison...@free.fr> wrote:
>> Le 24/11/2010 17:19, Dietmar Wolz a écrit :
>>>
>>>
>>>> that depends on math 2.1.  Orekit itself (or whatever other immediate
>>>> dependency) may not have cut a release changing its internal use to 3.0.  
>>>> At
>>>
>>> Is this realistic? I would expect quite early an Orekit version supporting 
>>> CM
>>> 3.0.
>>
>> For Orekit, you are right, we will be 3.0 ready very early but it is a
>> somewhat ideal situation: the same people are involved in both tools.
>> Also in the example situation I presented, the problem is in fact the
>> other way round: Orekit will switch to 3.0 much earlier than the top
>> level project. This does not change the problem, though: in both cases
>> we have two libraries that need two different versions, their relative
>> ordering is irrelevant.
>>
>>> May be not a release but the actual Orekit trunk. So for your own release 
>>> you
>>> would have to wait for the next Orekit release which is CM 3.0 compatible.
>>> But in the meantime you can still test your CM 3.0 compatible stuff - by 
>>> using
>>> a not yet officially released Orekit version.
>>> Are there projects where such a procedure is not acceptable?
>>
>> There are operational projects that are not allowed to rely on
>> unpublished versions. The intermediate libraries may also be
>> closed-source and people may simply not want to buy new versions too
>> often. So they would have to wait for an official release of
>> commons-math, then an official release of ALL the libraries that depend
>> on commons-math, then they could start upgrading themselves. As some
>> libraries may well be stable enough to not require publishing a new
>> version, that would condemn their users to stick to commons-math 2.x for
>> a long time.
>>
>> This is one classical situation for jar hell: project A uses components
>> B1 and B2 and both components use a low level C component. A bug is
>> discovered in C and it is a major one for B1. Then a new version of C is
>> published, followed by a new version of B1 that depends on it. However
>> B2 is not affected by this bug and is a stable component: it does not
>> update its use of C and still rely on the old version with the bug.
>> Project A is in jar hell.
> 
> It's only in jar hell if C2 is not binary compatible with C1 (and then
> only if B2 uses the part of C1 that changed in C2)

Yes, sorry, the example was not complete.

thanks for the clarification
Luc

> 
> Otherwise, surely just replace C with Cv2 and both B1 and B2 are happy?
> 
> If C1 and C2 have the same Maven gid:aid combination, only C2 willl be
> put on the classpath.
> 
>> The situation is worse if B2 is not an
>> open-source project, as project A really cannot make the change by itself.
>>
>> Luc
>>
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to