From 2ad921c961d5dfa771011bae7a2435dd2945e126 Mon Sep 17 00:00:00 2001 From: Mikhail Sennikovsky Date: Mon, 10 Sep 2007 13:20:56 +0000 Subject: [PATCH] 1. Initial fix for [Bug 198490] .project file rewriiten on every build 2. Initial fix for [Bug 193518] Project description modified needlessly --- .../model/CConfigurationSpecSettings.java | 2 +- .../model/CProjectDescriptionManager.java | 46 ++----------------- 2 files changed, 6 insertions(+), 42 deletions(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationSpecSettings.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationSpecSettings.java index 15b62d6aa79..d1e432a448a 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationSpecSettings.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CConfigurationSpecSettings.java @@ -392,7 +392,7 @@ public class CConfigurationSpecSettings implements ICSettingsStorage{ return CfgExportSettingContainerFactory.getReferenceMap(fCfg); if(fRefMapCache == null) fRefMapCache = CfgExportSettingContainerFactory.getReferenceMap(fCfg); - return fRefMapCache; + return new HashMap(fRefMapCache); // if(fRefInfoMap == null || fRefInfoMap.size() == 0) // return new HashMap(0); // diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java index 7e13b6f7ab8..f999bf20f0f 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java @@ -1186,7 +1186,7 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager { Set curSet = new HashSet(Arrays.asList(natureIds)); // Set newSet = new HashSet(Arrays.asList(newNatures)); // Set oldSet = new HashSet(Arrays.asList(oldNatures)); - Set newCurSet = new HashSet(curSet); + HashSet newCurSet = new HashSet(curSet); // newSet.removeAll(oldSet); // oldSet.removeAll(tmp); @@ -1201,46 +1201,10 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager { } return false; - -//// List[] natureDiff = ListComparator.compare(newNatures, oldNatures); -// -//// String newBuilderIds[] = newDr.getBuilderIds(); -//// String oldBuilderIds[] = oldDr.getBuilderIds(); -//// List[] builderDiff = ListComparator.compare(newBuilderIds, oldBuilderIds); -// -// if(natureDiff != null /*|| builderDiff != null*/){ -//// boolean applyDes = false; -//// if(des == null){ -//// des = project.getDescription(); -//// applyDes = true; -//// } -// -// String natureIds[] = des.getNatureIds(); -// if(natureDiff[1] != null){ -// List remaining = ListComparator.getAdded(natureIds, natureDiff[1].toArray()); -// if(remaining != null){ -// natureIds = (String[])remaining.toArray(new String[remaining.size()]); -// } -// } -// -// if(natureDiff[0] != null){ -// Set set = new HashSet(); -// set.addAll(Arrays.asList(natureIds)); -// set.addAll(natureDiff[0]); -// natureIds = (String[])set.toArray(new String[set.size()]); -// } -//// if(builderDiff != null){ -//// -//// } -// -// if(natureDiff != null) -// des.setNatureIds(natureIds); -// -//// if(applyDes) -//// project.setDescription(des, monitor); -// return true; -// } -// return false; + + + + } public void setProjectDescription(IProject project, ICProjectDescription des) throws CoreException {