You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Carsten Pfeiffer (JIRA)" <ji...@apache.org> on 2014/03/20 14:58:44 UTC
[jira] [Updated] (IVY-1464) Inconsistency between local and remote
[ https://issues.apache.org/jira/browse/IVY-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Pfeiffer updated IVY-1464:
----------------------------------
Attachment: not-found.patch
> Inconsistency between local and remote <properties>
> ---------------------------------------------------
>
> Key: IVY-1464
> URL: https://issues.apache.org/jira/browse/IVY-1464
> Project: Ivy
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.0
> Reporter: Carsten Pfeiffer
> Priority: Minor
> Labels: patch
> Attachments: not-found.patch
>
>
> When using a {{<properties>}} element in an {{ivysettings.xml}} ivy behaves differently when the referenced properties file does not exist.
> In case the properties file is local, a {{FileNotFoundException}} is caught and only a warning is logged (i.e. non-fatal).
> In case the file is remote, only a generic {{IOException}} occurs, which fails the build.
> Not sure how to best fix this. One fix would be like this:
> {code}
> try {
> URL fileUrl = urlFromFileAttribute(propFilePath);
> try {
> ivy.loadProperties(fileUrl, override);
> } catch (FileNotFoundException ex) {
> throw ex;
> } catch (IOException ex) {
> try {
> URLConnection connection = fileUrl.openConnection();
> if (connection instanceof HttpURLConnection) {
> int code = ((HttpURLConnection) connection).getResponseCode();
> if (code == 404) {
> // file does not exist, just log a warning like in the local file
> // case
> Message.verbose("Unable to download property file (404 not found): "
> + propFilePath);
> return;
> }
> }
> } catch (Exception e) {
> // ignore all follow up errors and throw the original exception instead
> }
> throw ex;
> }
> } catch (FileNotFoundException e) {
> Message.verbose("Unable to find property file: " + propFilePath);
> }
> {code}
> If you want to spare the second attempt to download the file when the exception occurs, you would have to refactor {{IvySettings.loadProperties()}} a bit.
--
This message was sent by Atlassian JIRA
(v6.2#6252)