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 Shawn Castrianni <Sh...@halliburton.com> on 2008/02/26 20:26:20 UTC

multi-platform caches

I am setting up automated builds with QuickBuild and ivy underneath.  QuickBuild is great at spawning platform specific builds to other QB servers.  However, my question is about the ivy cache.  In order for each platform build to succeed, they need to get dependencies.  This, of course, causes a resolve and retrieve.  It is the resolve that I am worried about.  It is theoretically possible that each platform's resolve call could result in different dependencies if a module is being published simultaneously.  Therefore, my different platforms are NOT guaranteed to be building against the same set of dependencies.

QB makes it easy to transfer one QB server build's artifacts to another QB server build as input.  Therefore, I could do one resolve/retrieve on the master build server and then deliver those dependencies to the other platforms.  However, that doesn't deliver the cache directory too.  Therefore, on the other platforms, they would have the dependencies, but not the resolution metadata in the cache.  This will cause any post-resolve ivy ant task to fail.  Any suggestions?

Technically, I don't have to make any post-resolve ivy ant task calls on the individual platforms so I guess delivering the dependencies from the master server will be sufficient, but any comments or suggestions might still help for the future.

---
Shawn Castrianni

----------------------------------------------------------------------
This e-mail, including any attached files, may contain confidential and privileged information for the sole use of the intended recipient.  Any review, use, distribution, or disclosure by others is strictly prohibited.  If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message.

Re: multi-platform caches

Posted by Xavier Hanin <xa...@gmail.com>.
On Tue, Feb 26, 2008 at 8:26 PM, Shawn Castrianni <
Shawn.Castrianni@halliburton.com> wrote:

> I am setting up automated builds with QuickBuild and ivy underneath.
>  QuickBuild is great at spawning platform specific builds to other QB
> servers.  However, my question is about the ivy cache.  In order for each
> platform build to succeed, they need to get dependencies.  This, of course,
> causes a resolve and retrieve.  It is the resolve that I am worried about.
>  It is theoretically possible that each platform's resolve call could result
> in different dependencies if a module is being published simultaneously.
>  Therefore, my different platforms are NOT guaranteed to be building against
> the same set of dependencies.
>
> QB makes it easy to transfer one QB server build's artifacts to another QB
> server build as input.  Therefore, I could do one resolve/retrieve on the
> master build server and then deliver those dependencies to the other
> platforms.  However, that doesn't deliver the cache directory too.
>  Therefore, on the other platforms, they would have the dependencies, but
> not the resolution metadata in the cache.  This will cause any post-resolve
> ivy ant task to fail.  Any suggestions?
>
> Technically, I don't have to make any post-resolve ivy ant task calls on
> the individual platforms so I guess delivering the dependencies from the
> master server will be sufficient, but any comments or suggestions might
> still help for the future.

You can zip the content of the resolution cache and send it to your platform
specific QB servers, which can unzip it to get the original context. Then
you'll have to use the organisation module and revision attributes when
calling your post resolve task, so that they use the resolution cache. When
you call post resolve task in the same build, this is done automatically
because we set information in the Ant Project instance. But in this case Ivy
won't have that information, so you have to tell it you want to reuse a
previous resolve.

Xavier

>
>
> ---
> Shawn Castrianni
>
> ----------------------------------------------------------------------
> This e-mail, including any attached files, may contain confidential and
> privileged information for the sole use of the intended recipient.  Any
> review, use, distribution, or disclosure by others is strictly prohibited.
>  If you are not the intended recipient (or authorized to receive information
> for the intended recipient), please contact the sender by reply e-mail and
> delete all copies of this message.




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