ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: Disconnected Development
Date Fri, 22 Dec 2006 13:01:35 GMT
On 12/22/06, Gilles Scokart <gscokart@gmail.com> wrote:
>
> To support offline build,  I use some dedicated resolver chains.  It looks
> like this :
>
>
>        <cache name="cache">
>                <ivy
> pattern="${ivy.cache.dir}/${ivy.cache.default.ivy.pattern}" />
>                <artifact
> pattern="${ivy.cache.dir}/${ivy.cache.default.artifact.pattern}" />
>        </cache>
>        <filesystem name="local">
>                <ivy
> pattern="${ivy.local.dir}/${ivy.local.default.ivy.pattern}" />
>                <artifact
> pattern="${ivy.local.dir}/${ivy.local.default.artifact.pattern}" />
>        </filesystem>
>        <filesystem name="shared">
>                <ivy
> pattern="${ivy.share.dir}/${ivy.shared.default.ivy.pattern}" />
>                <artifact
> pattern="${ivy.share.dir}/${ivy.shared.default.artifact.pattern}" />
>        </filesystem>
>        <chain name="offline" returnFirst="true">
>                <resolver ref="local"/>
>                <resolver ref="cache"/>
>        </chain>
>        <chain name="online" returnFirst="true">
>                <resolver ref="local"/>
>                <resolver ref="shared"/>
>        </chain>
>
>
> And my default conf is online or offline according to some ant variable.
>
>
> NB: I think cache still requires a <typedef name="cache"
> classname="fr.jayasoft.ivy.resolver.CacheResolver"/>.  It is distributed
> inside ivy, but I don't think it is documented yet (previously it was not
> at
> least).


You're right it's not documented and was not really meant to be use in a
usual way, but if we find use cases like this we should typedef and document
it.

Xavier

Gilles
>
>
> > -----Original Message-----
> > From: Eric Crahen [mailto:eric.crahen.lists@gmail.com]
> > Sent: Thursday, December 21, 2006 7:25 PM
> > To: ivy-user@incubator.apache.org
> > Subject: Re: Disconnected Development
> >
> > I'll have to look at using a retrieve task. And using the get
> > seems like it could work.
> > I was looking for something more build into the ant tasks so
> > it would seem like less work to people who use ivy. Sometimes
> > people can resist a tool if they see more than one line
> > because it seems like "a lot of work" to them, which is
> > somewhat silly in my opinion. I think I can make up some
> > auxiallary tasks that delegate to the ivy tasks, or write
> > some ant macros that give the appearance of a single line doing thing.
> >
> >
> > On 12/21/06, Xavier Hanin <xavier.hanin@gmail.com> wrote:
> > >
> > > On 12/21/06, Eric Crahen <eric.crahen.lists@gmail.com> wrote:
> > > >
> > > > Maybe this has been answered, but let me explain what I
> > am trying to do.
> > > >
> > > > I have some Ivy projects that I build while connected to
> > my network
> > > > and everything is fine.
> > > > Now and again I need to unplug for various reasons and
> > I'd like to
> > > > still work. I have stuff in my cache from previous
> > connected builds
> > > > but I seem to have two issues to overcome.
> > > >
> > > > ---
> > > >
> > > > The first is that I use <ivy:configure url="..."/>. I do this
> > > > because
> > > its
> > > > impractical to do otherwise.
> > > > I have one configuration managed by someone for all my builds. It
> > > > just sets up resolver chains and what not.
> > > >
> > > > When I disconnect I fail the configure and can't take
> > advantage of
> > > > anything that has been cached.
> > > >
> > > > Do you think it would be possible for ivy to cache configuration
> > > > files
> > > it
> > > > downloads, so that
> > > > when the network is unreachable it uses the cached version? Or
> > > > better
> > > yet,
> > > > it always uses
> > > > a cached version and just updates the cache in a
> > background thread
> > > > with each build - so that I won't have to wait for a
> > network timeout
> > > > on each build?
> > >
> > >
> > > It's possible, but you can simply use the get task from ant
> > and use a
> > > <ivy:configure file="..."/>, and you'll be done without any
> > modification
> > > in
> > > Ivy.
> > >
> > > ---
> > > >
> > > > The second is that I sometimes use revision patterns like
> > "1.+'". When I
> > > > use
> > > > a pattern it seems
> > > > the resolvers require a connection to query the server.
> > If I use "1.0"
> > > > then
> > > > I will just take from the
> > > > cache directly.
> > > >
> > > > Would it be possible for the resolvers to just query the
> > local cache
> > > when
> > > > the network is down?
> > >
> > >
> > > It's already possible to reuse the result of a last resolve
> > (as documented
> > > in the post resolve task page of the doc). You can also use an
> > > ivyconf.xmlwhere you use a cache resolver, which will perform a
> > > resolve from cache only
> > > (this would be easier with a useCacheOnly="true" feature or
> > something like
> > > that, I agree). If you use the retrieve task then you can
> > simply bypass
> > > Ivy
> > > altogether when you are offline, and use your retrieved lib
> > dir as before.
> > >
> > > Xavier
> > >
> > > --
> > > >
> > > > - Eric
> > > >
> > > >
> > >
> > >
> >
> >
> > --
> >
> > - Eric
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message