Index: ReferenceHelper.java =================================================================== RCS file: /cvs/ant/project/src/org/netbeans/spi/project/support/ant/ReferenceHelper.java,v retrieving revision 1.27 diff -u -r1.27 ReferenceHelper.java --- ReferenceHelper.java 22 Aug 2005 20:47:52 -0000 1.27 +++ ReferenceHelper.java 30 Aug 2005 14:08:21 -0000 @@ -293,42 +293,62 @@ * @return was there any change or not */ private boolean setPathProperty(File base, File path, String propertyName) { - String value; - String propertiesFile; - if (CollocationQuery.areCollocated(base, path)) { + String[] values; + String[] propertiesFiles; + + String relativePath = relativizeFileToExtraBaseFolders(path); + // try relativize against external base dirs + if (relativePath != null) { + propertiesFiles = new String[] { + AntProjectHelper.PROJECT_PROPERTIES_PATH + }; + values = new String[] { + relativePath + }; + } + else if (CollocationQuery.areCollocated(base, path)) { // Fine, using a relative path to subproject. - value = PropertyUtils.relativizeFile(base, path); - assert value != null : "These dirs are not really collocated: " + base + " & " + path; - propertiesFile = AntProjectHelper.PROJECT_PROPERTIES_PATH; - } else { - // try relativize against external base dirs - value = relativizeFileToExtraBaseFolders(path); - if (value != null) { - propertiesFile = AntProjectHelper.PROJECT_PROPERTIES_PATH; - } else { - // use an absolute path. - propertiesFile = AntProjectHelper.PRIVATE_PROPERTIES_PATH; - value = path.getAbsolutePath(); + relativePath = PropertyUtils.relativizeFile(base, path); + assert relativePath != null : "These dirs are not really collocated: " + base + " & " + path; + values = new String[] { + relativePath, + path.getAbsolutePath() + }; + propertiesFiles = new String[] { + AntProjectHelper.PROJECT_PROPERTIES_PATH, + AntProjectHelper.PRIVATE_PROPERTIES_PATH, + }; + } else { + // use an absolute path. + propertiesFiles = new String[] { + AntProjectHelper.PRIVATE_PROPERTIES_PATH + }; + values = new String[] { + path.getAbsolutePath() + }; + } + + boolean metadataChanged = false; + for (int i=0; i