From 57405226fa41d343d14330d7883d38a6aeabbae9 Mon Sep 17 00:00:00 2001 From: Vivian Kong Date: Tue, 28 Sep 2010 15:38:53 +0000 Subject: [PATCH] Bug 321778 Lost preference: build only if changes in workspace - patch by Keith W. Campbell --- .../cdt/core/CCorePreferenceConstants.java | 15 +++++++++++++++ .../org/eclipse/cdt/core/resources/ACBuilder.java | 11 +++++------ .../internal/core/CCorePreferenceInitializer.java | 5 +++++ .../ui/preferences/CPluginPreferencePage.java | 2 -- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePreferenceConstants.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePreferenceConstants.java index 1fbd1cda7da..fb4095da2f9 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePreferenceConstants.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePreferenceConstants.java @@ -9,6 +9,7 @@ * QNX Software Systems - Initial API and implementation * Markus Schorn (Wind River Systems) * Sergey Prigogin (Google) + * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.core; @@ -148,4 +149,18 @@ public class CCorePreferenceConstants { * @since 5.2 */ public static final String SHOW_SOURCE_ROOTS_AT_TOP_LEVEL_OF_PROJECT = CCorePlugin.PLUGIN_ID + ".showSourceRootsAtTopLevelOfProject"; //$NON-NLS-1$ + + /** + * "Build All Configurations" preference key. + * + * @since 4.0 + */ + public static final String PREF_BUILD_ALL_CONFIGS = "build.all.configs.enabled"; //$NON-NLS-1$ + + /** + * Preference key for "build only if resources in (related) projects are modified". + * + * @since 5.1 + */ + public static final String PREF_BUILD_CONFIGS_RESOURCE_CHANGES = "build.proj.ref.configs.enabled"; //$NON-NLS-1$ } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ACBuilder.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ACBuilder.java index eb7e2e9dd43..2f4019275f2 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ACBuilder.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ACBuilder.java @@ -16,6 +16,7 @@ import java.net.URI; import java.util.Map; import org.eclipse.cdt.core.CCorePlugin; +import org.eclipse.cdt.core.CCorePreferenceConstants; import org.eclipse.cdt.core.IMarkerGenerator; import org.eclipse.cdt.core.ProblemMarkerInfo; import org.eclipse.cdt.core.model.CoreModel; @@ -35,8 +36,6 @@ import org.eclipse.osgi.util.NLS; public abstract class ACBuilder extends IncrementalProjectBuilder implements IMarkerGenerator { - private static final String PREF_BUILD_ALL_CONFIGS = "build.all.configs.enabled"; //$NON-NLS-1$ - private static final String PREF_BUILD_CONFIGS_RESOURCE_CHANGES = "build.proj.ref.configs.enabled"; //$NON-NLS-1$ private static final Preferences prefs = CCorePlugin.getDefault().getPluginPreferences(); private static final String CONTENTS_CONFIGURATION_IDS = "org.eclipse.cdt.make.core.configurationIds"; //$NON-NLS-1$ @@ -126,11 +125,11 @@ public abstract class ACBuilder extends IncrementalProjectBuilder implements IMa } public static boolean needAllConfigBuild() { - return prefs.getBoolean(PREF_BUILD_ALL_CONFIGS); + return prefs.getBoolean(CCorePreferenceConstants.PREF_BUILD_ALL_CONFIGS); } public static void setAllConfigBuild(boolean enable) { - prefs.setValue(PREF_BUILD_ALL_CONFIGS, enable); + prefs.setValue(CCorePreferenceConstants.PREF_BUILD_ALL_CONFIGS, enable); } /** @@ -142,7 +141,7 @@ public abstract class ACBuilder extends IncrementalProjectBuilder implements IMa */ public static boolean buildConfigResourceChanges() { //bug 219337 - return prefs.getBoolean(PREF_BUILD_CONFIGS_RESOURCE_CHANGES); + return prefs.getBoolean(CCorePreferenceConstants.PREF_BUILD_CONFIGS_RESOURCE_CHANGES); } /** @@ -152,7 +151,7 @@ public abstract class ACBuilder extends IncrementalProjectBuilder implements IMa * @since 5.1 */ public static void setBuildConfigResourceChanges(boolean enable) { - prefs.setValue(PREF_BUILD_CONFIGS_RESOURCE_CHANGES, enable); + prefs.setValue(CCorePreferenceConstants.PREF_BUILD_CONFIGS_RESOURCE_CHANGES, enable); } @SuppressWarnings("nls") diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CCorePreferenceInitializer.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CCorePreferenceInitializer.java index c9aa1bc18b5..9733cabde52 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CCorePreferenceInitializer.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CCorePreferenceInitializer.java @@ -9,6 +9,7 @@ * QNX Software Systems - Initial API and implementation * Sergey Prigogin (Google) * Markus Schorn (Wind River Systems) + * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.internal.core; @@ -61,6 +62,10 @@ public class CCorePreferenceInitializer extends AbstractPreferenceInitializer { defaultPreferences.putBoolean(CCorePlugin.PREF_USE_STRUCTURAL_PARSE_MODE, false); defaultPreferences.putBoolean(CCorePreferenceConstants.FILE_PATH_CANONICALIZATION, true); defaultPreferences.putBoolean(CCorePreferenceConstants.SHOW_SOURCE_ROOTS_AT_TOP_LEVEL_OF_PROJECT, true); + + // build defaults + defaultPreferences.putBoolean(CCorePreferenceConstants.PREF_BUILD_ALL_CONFIGS, false); + defaultPreferences.putBoolean(CCorePreferenceConstants.PREF_BUILD_CONFIGS_RESOURCE_CHANGES, false); // indexer defaults IndexerPreferences.initializeDefaultPreferences(defaultPreferences); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CPluginPreferencePage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CPluginPreferencePage.java index b9214dd454b..68fe8d92364 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CPluginPreferencePage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CPluginPreferencePage.java @@ -238,8 +238,6 @@ public class CPluginPreferencePage extends PreferencePage implements IWorkbenchP public static void initDefaults(IPreferenceStore prefs) { prefs.setDefault(PreferenceConstants.PREF_LINK_TO_EDITOR, false); prefs.setDefault(PreferenceConstants.PREF_USE_STRUCTURAL_PARSE_MODE, false); - ACBuilder.setAllConfigBuild(false); - ACBuilder.setBuildConfigResourceChanges(false); } /* (non-Javadoc)