ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles Faucherand <gilles.faucher...@genostar.com>
Subject Re: eviction and conflict manager
Date Fri, 23 Feb 2007 13:35:00 GMT
Xavier Hanin wrote:
> On 2/23/07, Gilles Faucherand <gilles.faucherand@genostar.com> wrote:
>>
>> Xavier Hanin wrote:
>> > On 2/23/07, Gilles Faucherand <gilles.faucherand@genostar.com> wrote:
>> >>
>> >> Hi,
>> >>
>> >> I have some problems with eviction strategy. I set a
>> >> defaultConflictManager="latest-time"
>> >> in my ivyconf meaning for me if a conflict appears to retrieve all 
>> the
>> >> time the last in time published.
>> >>
>> >> Say for instance that I have 3 modules A, B and C.
>> >> 1) I publish C-1.0.0 and later C-1.0.1.
>> >> 2) B needs  C-1.0.0, I retrieve (ok) and I publish B-1.0.0
>> >> 3) A needs B-1.0.0 and C-1.0.1  (order is important: B before C in 
>> ivy
>> >> file  ...)
>> >>
>> >> When I retrieve I get C-1.0.0 ???
>> >>   [resolve]     :: evicted modules:
>> >>   [resolve]     [ MyCompany | C | 1.0.1 ] by [[ MyCompany | C | 
>> 1.0.0]]
>> >> in [all]
>> >>   [resolve]       in [ MyCompany | A | 1.0.0 ] with latest-time
>> >>
>> >> If I change the order in the ivy file i.e. C before B, I get what I
>> want
>> >> C-1.0.1 ...
>> >>   [resolve]     :: evicted modules:
>> >>   [resolve]     [ MyCompany | C | 1.0.0 ] by [[ MyCompany | C | 
>> 1.0.1]]
>> >> in [all]
>> >>   [resolve]       in [ MyCompany | B | 1.0.0 ] with latest-time
>> >>
>> >> Is it normal ?
>> >
>> >
>> > No, this is not normal. The only reason why this should happen is if
>> > the two
>> > revision are considered equal according to the latest revision 
>> strategy
>> > used, in your case latest-time. So this should only happen if the two
>> > have
>> > the same time of publication. Note that Ivy uses the publication time
>> > in the
>> > Ivy file during conflict resolution, so make sure you have set the
>> > publication attribute in your ivy files in your repository.
>> You mean in the ivy file of the module C  <info organisation="MyCompany"
>> module="C" ... publication="xxxxx"  >
>> No, or I should change this date each time I publish and I've got a
>> nightly builder ...
>>
>> After publication in the repository the ivy file created was
>> myrepos/MyCompany/C/ivy-1.0.0.xml (following my ivy artifact pattern)
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <ivy-module version="1.0">
>>   <info organisation="MyCompany" module="C" revision="1.0.0"
>> status="integration" publication="20070223132315"/>
>> ...
>> </ivy-module>
>>
>> A publication date is set ... I thought this date was used ?
>
>
> Yes, this the one which should be used: the ivy file for C 1.0.0 and 
> the one
> for C 1.0.1 in your repository. Compare the two publication dates and 
> make
> sure they are different. 
yes, they are:

<   <info organisation="MyCompany" module="C" revision="1.0.0" 
status="integration" publication="20070223142657"/>
---
 >   <info organisation="MyCompany" module="C" revision="1.0.1" 
status="integration" publication="20070223142715"/>

ok, I add an issue in JIRA.

Thanks for your help.

Gilles

> But I realize that during conflict resolution, the
> ivy files are not downloaded, so it seems to be a bug in Ivy to try to 
> rely
> on this publication date in the ivy file. It should better rely on the 
> last
> modified timestamp of the file. Could you please add an issue in JIRA?
>
> - Xavier
>
>
>> If you still
>> > have the problem, you can open a JIRA issue describing your problem
>> > and your
>> > environment.
>> >
>> > Xavier
>> >
>> >
>> >
>> > Thanks in advance,
>> >> Gilles
>> >>
>> >>
>> >
>>
>>
>


Mime
View raw message