ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Louis BOUDART <>
Subject Re: ivy settings, include, and offline mode
Date Mon, 25 May 2009 09:29:08 GMT
Referring to the following issue =>

My suggestion will be to have a consistent ivysettings where all the
repositories you use are properly configured.

Then you can set the property ivy.cache.ttl.default to "eternal", in the
case a build has already been performed on the local machine the artifact
will be retrieved from your cache and will never try to ask the source

So supposing that the resolve job is done by a ant target named "resolve",
you'll be able to run :

   - ant resolve ==> using all the repositories configured
   - ant resolve -Divy.cache.ttl.default=eternal ==> using cache only (only
   possible if you have resolved at least one time the project on the local
   machine before)

Hope this will help

Jean Louis Boudart

2009/5/25 Scott Goldstein <>

> Hi Geoff,
> The situation you describe is exactly what I have.  An ivysettings.xml file
> co-located with a respository sitting on a file server.  My goal is to allow
> offline builds without this repository in the case that a build has already
> been performed on the local machine and the artifacts have been cached.
> I've considered the various ant solutions.  What i was trying to do,
> however, was to maintain a clear seperation between build logic in the ant
> files and ivy configuration in the ivysettings files.  In other words,
> encapsulate completely ivy configuration settings in the ivy settings
> files.
> But, it looks like that will not be possible, given the current ivy:include
> logic.  So, i'll try an Ant approach.
> Thanks.
> Scott
> --- On Sat, 5/23/09, Mitch Gitman <> wrote:
> From: Mitch Gitman <>
> Subject: Re: ivy settings, include, and offline mode
> To:
> Date: Saturday, May 23, 2009, 8:32 PM
> Offering a little different perspective from Geoff...
> I'm presuming you're using Ivy from within Ant. In that case, remember that
> you can put ${} Ant property placeholders in your ivysettings.xml file. You
> should know when you're online and when you're offline, so define an Ant
> property in the master ivysettings.xml file:
> ivysettings.location=*real_location*
> Then when you're offline, you can set this property sooner and set it to an
> Ivy settings file at a local location or just a dummy ivysettings.xml.
> Ideally, you would specify this "override" property in a properties file or
> Ant script that does not get committed to source control.
> I'm sure there's a bit slicker variation on the approach I'm describing.
> Ideally, IMHO, an imported ivysettings.xml file should only be at a
> remote/network location if it happens to be co-located with an Ivy
> repository at that location. So if you're not able to reach the Ivy
> settings
> file, you're also not able to reach its associated repository. And in that
> case, you have to address the larger question of how to make do without
> that
> particular repository.
> On Sat, May 23, 2009 at 7:48 PM, Scott Goldstein <
> >wrote:
> > In my ivysettings, I use an include tag to include an ivy settinsg file
> > located on a file server.  When the file server is not available, I get
> the
> > following message:
> >
> > impossible to configure ivy:settings with given file:
> > ...\ivysettings.xml : java.text.ParseException: failed to load settings
> from
> > file:/c://.../ivysettings.xml: io problem while parsing config file:
> > \\fileserver\c\...\remoteivysettings.xml (The network path was not found)
> >
> > I'd like the behavior to be:
> > 1.  When online, include the file
> > 2.  When offline, ignore the error and continue
> >
> > Is there any way to achieve this?
> >
> > Thanks.
> >
> > Scott

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