### Eclipse Workspace Patch 1.0 #P IvyDE_trunk Index: org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/SettingsSetup.java =================================================================== --- org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/SettingsSetup.java (revision 1585975) +++ org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/SettingsSetup.java (working copy) @@ -17,12 +17,15 @@ */ package org.apache.ivyde.eclipse.cp; +import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.ivyde.eclipse.IvyDEException; +import org.apache.ivyde.internal.eclipse.IvyDEMessage; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResourceStatus; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.variables.IStringVariableManager; import org.eclipse.core.variables.VariablesPlugin; @@ -72,20 +75,28 @@ } public List getResolvedPropertyFiles() throws IvyDEException { - List resolvedProps = new ArrayList(); + List resolvedPropertyFiles = new ArrayList(); IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager(); - try { - Iterator it = propertyFiles.iterator(); - while (it.hasNext()) { - String propFile = (String) it.next(); - String resolvedProp = manager.performStringSubstitution(propFile, false); - resolvedProps.add(resolvedProp); + Iterator it = propertyFiles.iterator(); + while (it.hasNext()) { + String propertyFile = (String) it.next(); + try { + String resolvedPropertyFile = manager.performStringSubstitution(propertyFile, false); + if (new File(resolvedPropertyFile).exists()) { + resolvedPropertyFiles.add(resolvedPropertyFile); + } else { + IvyDEMessage.verbose("Property file " + propertyFile + " does not exist"); + } + } catch (CoreException e) { + if (e.getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND) { + IvyDEMessage.verbose("Property file resource " + propertyFile + " not found"); + } else { + throw new IvyDEException("Unrecognized variables", + "Unrecognized variables in property path " + propertyFile, e); + } } - } catch (CoreException e) { - throw new IvyDEException("Unrecognized variables", - "Unrecognized variables in the Ivy settings file " + ivySettingsPath, e); } - return resolvedProps; + return resolvedPropertyFiles; } public void setPropertyFiles(List propertyFiles) {