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 <[email protected]> wrote:


From: Mitch Gitman <[email protected]>
Subject: Re: ivy settings, include, and offline mode
To: [email protected]
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 <[email protected]>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:
>
> BUILD FAILED
> ...build.xml:14: 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

Reply via email to