You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by I-Chiang Chen <ic...@gmail.com> on 2007/12/14 03:30:06 UTC

How does block work in Ivy.

Hi,

I am trying to understand how the <statues> block is used in Ivy, what
does it actually control. What kind of impact does it have on
resolution? How does the ordering of the status affects resolving?
Could someone please kindly explain it or point me to relevant reading
materials.


-- 
-IC

Re: How does block work in Ivy.

Posted by buzzterrier <te...@gmail.com>.
That makes a bit more sense. Perhaps this is a perspective that someone wise
in the art of "builds", or a Configuration Manager has come to expect. I
will probably come around to this way of thinking over time.    ;-)



Gilles Scokart wrote:
> 
> You should see it as "a release is a milestone".  When you are asking
> the latest milestone, it takes the latest because both are milestone.
> I think the problem you have is that you have at the same time two
> publication with the same release number.
> 
> -- 
> Gilles Scokart
> 
> 


-----
Buzzterrier

http://buzzterrier.blogspot.com/ View my blog: Ordinary Average Developer... 
-- 
View this message in context: http://www.nabble.com/How-does-%3Cstatues%3E-block-work-in-Ivy.-tp14330182p19933222.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: How does block work in Ivy.

Posted by Gilles Scokart <gs...@gmail.com>.
You should see it as "a release is a milestone".  When you are asking
the latest milestone, it takes the latest because both are milestone.
I think the problem you have is that you have at the same time two
publication with the same release number.

2008/10/10 buzzterrier <te...@gmail.com>:
>
> Thx Hans,
>
> I see what you are saying about the same build number series, and in reality
> my milestones will almost certainly be more recent then the release
> revision; so this will be less of an issue. Although I still think that if I
> request latest.milestone, then I expect to get the latest.milestone release,
> not latest.whatever-is-latest.  This behavior seems to diminish the
> usefulness of statuses.
>
>
> Hans Lund wrote:
>>
>> You need to consider the maturity of the statues. resolving
>> latest.milestone will resolve to the latest either milestone or whatever
>> more mature status is 'latest' according to ivy.buildnumber.
>>
>> If latest.milestone is lets say 0.9.11 and latest.release is 0.9.13 the
>> build 0.9.13 will be resolved, as using the same number series indicates
>> the builds are related with shared code base. (My guess would be that
>> the 0.9.11 milestone was promoted to 0.9.12 release having identical
>> code)
>>
>> Having such a strategy allows you to always depend on milestone or
>> better builds whichever is the newest - which is quite power full.
>>
>> OK this is actually the same answer Xavier gave, but I hope the use case
>> can be help full.
>>
>> /Hans
>>
>>
>
>
> -----
> Buzzterrier
>
> http://buzzterrier.blogspot.com/ View my blog: Ordinary Average Developer...
> --
> View this message in context: http://www.nabble.com/How-does-%3Cstatues%3E-block-work-in-Ivy.-tp14330182p19924919.html
> Sent from the ivy-user mailing list archive at Nabble.com.
>
>



-- 
Gilles Scokart

Re: How does block work in Ivy.

Posted by buzzterrier <te...@gmail.com>.
Thx Hans,

I see what you are saying about the same build number series, and in reality
my milestones will almost certainly be more recent then the release
revision; so this will be less of an issue. Although I still think that if I
request latest.milestone, then I expect to get the latest.milestone release,
not latest.whatever-is-latest.  This behavior seems to diminish the
usefulness of statuses. 


Hans Lund wrote:
> 
> You need to consider the maturity of the statues. resolving
> latest.milestone will resolve to the latest either milestone or whatever
> more mature status is 'latest' according to ivy.buildnumber.
> 
> If latest.milestone is lets say 0.9.11 and latest.release is 0.9.13 the
> build 0.9.13 will be resolved, as using the same number series indicates
> the builds are related with shared code base. (My guess would be that
> the 0.9.11 milestone was promoted to 0.9.12 release having identical
> code)
> 
> Having such a strategy allows you to always depend on milestone or
> better builds whichever is the newest - which is quite power full.
> 
> OK this is actually the same answer Xavier gave, but I hope the use case
> can be help full. 
> 
> /Hans  
> 
> 


-----
Buzzterrier

http://buzzterrier.blogspot.com/ View my blog: Ordinary Average Developer... 
-- 
View this message in context: http://www.nabble.com/How-does-%3Cstatues%3E-block-work-in-Ivy.-tp14330182p19924919.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: How does block work in Ivy.

Posted by Hans Lund <ha...@gmail.com>.
You need to consider the maturity of the statues. resolving
latest.milestone will resolve to the latest either milestone or whatever
more mature status is 'latest' according to ivy.buildnumber.

If latest.milestone is lets say 0.9.11 and latest.release is 0.9.13 the
build 0.9.13 will be resolved, as using the same number series indicates
the builds are related with shared code base. (My guess would be that
the 0.9.11 milestone was promoted to 0.9.12 release having identical
code)

Having such a strategy allows you to always depend on milestone or
better builds whichever is the newest - which is quite power full.

OK this is actually the same answer Xavier gave, but I hope the use case
can be help full. 

/Hans  

On Fri, 2008-10-10 at 11:16 -0700, buzzterrier wrote:
> So, If I have a resource published with two different statuses: milestone and
> release. And I have a dependency for that resource the at declares
> latest.milestone, then Ivy will return latest.release instead?
> 
> If that is true, then it seems counter intuitive. I would expect that if I
> requested latest.milestone, and the resolver found latest.milestone and
> latest.release, that it would return latest.milestone. However, if I
> requested latest.milestone and the resolver only found a latest.release,
> then I would expect it to return the latest.release.
> 
> 
> 
> 
> 
> 
> Xavier Hanin wrote:
> > 
> > I guess you're speaking about statuses, and not statues.
> > 
> > The statuses block defines the list of available statuses, when one want
> > to
> > use other statuses than integration, milestone and release (the 3 default
> > statuses).
> > 
> > The order is important for status compatibility, used only if you use
> > latest.<status> versions, like latest.milestone. In this case Ivy will
> > accept any status greater or equal to the status asked, meaning that if
> > you
> > ask for latest.milestone, you can end up with either a release or a
> > milestone. If you define your own statuses, the order will be used
> > accordingly.
> > 
> > Xavier
> > 
> > 
> > -- 
> > Xavier Hanin - Independent Java Consultant
> > http://xhab.blogspot.com/
> > http://ant.apache.org/ivy/
> > http://www.xoocode.org/
> > 
> > 
> 
> 
> -----
> Buzzterrier
> 
> http://buzzterrier.blogspot.com/ View my blog: Ordinary Average Developer... 


Re: How does block work in Ivy.

Posted by buzzterrier <te...@gmail.com>.
So, If I have a resource published with two different statuses: milestone and
release. And I have a dependency for that resource that declares
latest.milestone, then Ivy will return latest.release instead?

If that is true, then it seems counter intuitive. I would expect that if I
requested latest.milestone, and the resolver found latest.milestone and
latest.release, that it would return latest.milestone. However, if I
requested latest.milestone and the resolver only found a latest.release,
then I would expect it to return the latest.release.






Xavier Hanin wrote:
> 
> I guess you're speaking about statuses, and not statues.
> 
> The statuses block defines the list of available statuses, when one want
> to
> use other statuses than integration, milestone and release (the 3 default
> statuses).
> 
> The order is important for status compatibility, used only if you use
> latest.<status> versions, like latest.milestone. In this case Ivy will
> accept any status greater or equal to the status asked, meaning that if
> you
> ask for latest.milestone, you can end up with either a release or a
> milestone. If you define your own statuses, the order will be used
> accordingly.
> 
> Xavier
> 
> 
> -- 
> Xavier Hanin - Independent Java Consultant
> http://xhab.blogspot.com/
> http://ant.apache.org/ivy/
> http://www.xoocode.org/
> 
> 


-----
Buzzterrier

http://buzzterrier.blogspot.com/ View my blog: Ordinary Average Developer... 
-- 
View this message in context: http://www.nabble.com/How-does-%3Cstatues%3E-block-work-in-Ivy.-tp14330182p19923390.html
Sent from the ivy-user mailing list archive at Nabble.com.


Re: How does block work in Ivy.

Posted by Xavier Hanin <xa...@gmail.com>.
I guess you're speaking about statuses, and not statues.

The statuses block defines the list of available statuses, when one want to
use other statuses than integration, milestone and release (the 3 default
statuses).

The order is important for status compatibility, used only if you use
latest.<status> versions, like latest.milestone. In this case Ivy will
accept any status greater or equal to the status asked, meaning that if you
ask for latest.milestone, you can end up with either a release or a
milestone. If you define your own statuses, the order will be used
accordingly.

Xavier

On Dec 14, 2007 3:30 AM, I-Chiang Chen <ic...@gmail.com> wrote:

> Hi,
>
> I am trying to understand how the <statues> block is used in Ivy, what
> does it actually control. What kind of impact does it have on
> resolution? How does the ordering of the status affects resolving?
> Could someone please kindly explain it or point me to relevant reading
> materials.
>
>
> --
> -IC
>



-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/