mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
use new preference initializer
This commit is contained in:
parent
6ceb2d0ee8
commit
ab02e6e396
3 changed files with 67 additions and 38 deletions
|
@ -158,5 +158,9 @@
|
|||
id="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO">
|
||||
</pathEntryContainerInitializer>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.core.runtime.preferences">
|
||||
<initializer class="org.eclipse.cdt.make.internal.core.PreferenceInitializer"/>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
|
|
@ -16,13 +16,11 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.cdt.core.CCorePlugin;
|
||||
import org.eclipse.cdt.make.core.makefile.IMakefile;
|
||||
import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager;
|
||||
import org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider;
|
||||
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo;
|
||||
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser;
|
||||
import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigBuilder;
|
||||
import org.eclipse.cdt.make.internal.core.BuildInfoFactory;
|
||||
import org.eclipse.cdt.make.internal.core.MakeTargetManager;
|
||||
import org.eclipse.cdt.make.internal.core.makefile.gnu.GNUMakefile;
|
||||
|
@ -38,7 +36,6 @@ import org.eclipse.core.runtime.IExtension;
|
|||
import org.eclipse.core.runtime.IExtensionPoint;
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.Plugin;
|
||||
import org.eclipse.core.runtime.Preferences;
|
||||
|
@ -56,6 +53,7 @@ public class MakeCorePlugin extends Plugin {
|
|||
public static final String EXTERNAL_SI_PROVIDER_SIMPLE_ID = "ExternalScannerInfoProvider"; //$NON-NLS-1$
|
||||
public static final String SI_CONSOLE_PARSER_SIMPLE_ID = "ScannerInfoConsoleParser"; //$NON-NLS-1$
|
||||
public static final String DEFAULT_EXTERNAL_SI_PROVIDER_ID = MakeCorePlugin.getUniqueIdentifier() + ".DefaultExternalScannerInfoProvider"; //$NON-NLS-1$
|
||||
|
||||
public static final String GCC_SPECS_CONSOLE_PARSER_ID = MakeCorePlugin.getUniqueIdentifier() + ".GCCSpecsConsoleParser"; //$NON-NLS-1$
|
||||
public static final String GCC_SCANNER_INFO_CONSOLE_PARSER_ID = MakeCorePlugin.getUniqueIdentifier() + ".GCCScannerInfoConsoleParser"; //$NON-NLS-1$
|
||||
|
||||
|
@ -104,41 +102,6 @@ public class MakeCorePlugin extends Plugin {
|
|||
return getDefault().getBundle().getSymbolicName();
|
||||
}
|
||||
|
||||
protected void initializeDefaultPluginPreferences() {
|
||||
IMakeBuilderInfo info = createBuildInfo(getPluginPreferences(), MakeBuilder.BUILDER_ID, true);
|
||||
try {
|
||||
info.setBuildCommand(new Path("make")); //$NON-NLS-1$
|
||||
info.setBuildLocation(new Path("")); //$NON-NLS-1$
|
||||
info.setStopOnError(false);
|
||||
info.setUseDefaultBuildCmd(true);
|
||||
info.setAutoBuildEnable(false);
|
||||
info.setAutoBuildTarget("all"); //$NON-NLS-1$
|
||||
info.setIncrementalBuildEnable(true);
|
||||
info.setIncrementalBuildTarget("all"); //$NON-NLS-1$
|
||||
info.setFullBuildEnable(true);
|
||||
info.setFullBuildTarget("clean all"); //$NON-NLS-1$
|
||||
info.setCleanBuildEnable(true);
|
||||
info.setCleanBuildTarget("clean"); //$NON-NLS-1$
|
||||
info.setErrorParsers(CCorePlugin.getDefault().getAllErrorParsersIDs());
|
||||
} catch (CoreException e) {
|
||||
}
|
||||
getPluginPreferences().setDefault(CCorePlugin.PREF_BINARY_PARSER, CCorePlugin.PLUGIN_ID + ".ELF"); //$NON-NLS-1$
|
||||
|
||||
// default plugin preferences for scanner configuration discovery
|
||||
IScannerConfigBuilderInfo scInfo = createScannerConfigBuildInfo(getPluginPreferences(), ScannerConfigBuilder.BUILDER_ID, true);
|
||||
try {
|
||||
scInfo.setAutoDiscoveryEnabled(true);
|
||||
scInfo.setMakeBuilderConsoleParserEnabled(true);
|
||||
scInfo.setESIProviderCommandEnabled(true);
|
||||
scInfo.setUseDefaultESIProviderCmd(true);
|
||||
scInfo.setESIProviderCommand(new Path("gcc")); //$NON-NLS-1$
|
||||
scInfo.setESIProviderArguments("-E -P -v ${plugin_state_location}/${specs_file}"); //$NON-NLS-1$
|
||||
scInfo.setESIProviderConsoleParserId(GCC_SPECS_CONSOLE_PARSER_ID);
|
||||
scInfo.setMakeBuilderConsoleParserId(GCC_SCANNER_INFO_CONSOLE_PARSER_ID);
|
||||
} catch (CoreException e) {
|
||||
}
|
||||
}
|
||||
|
||||
public static IMakeBuilderInfo createBuildInfo(Preferences prefs, String builderID, boolean useDefaults) {
|
||||
return BuildInfoFactory.create(prefs, builderID, useDefaults);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2004 QNX Software Systems and others. All rights reserved. This
|
||||
* program and the accompanying materials are made available under the terms of
|
||||
* the Common Public License v1.0 which accompanies this distribution, and is
|
||||
* available at http://www.eclipse.org/legal/cpl-v10.html
|
||||
*
|
||||
* Contributors: QNX Software Systems - initial API and implementation
|
||||
******************************************************************************/
|
||||
package org.eclipse.cdt.make.internal.core;
|
||||
|
||||
import org.eclipse.cdt.core.CCorePlugin;
|
||||
import org.eclipse.cdt.make.core.IMakeBuilderInfo;
|
||||
import org.eclipse.cdt.make.core.MakeBuilder;
|
||||
import org.eclipse.cdt.make.core.MakeCorePlugin;
|
||||
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo;
|
||||
import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigBuilder;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
|
||||
|
||||
|
||||
public class PreferenceInitializer extends AbstractPreferenceInitializer {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
|
||||
*/
|
||||
public void initializeDefaultPreferences() {
|
||||
IMakeBuilderInfo info = MakeCorePlugin.createBuildInfo(MakeCorePlugin.getDefault().getPluginPreferences(), MakeBuilder.BUILDER_ID, true);
|
||||
try {
|
||||
info.setBuildCommand(new Path("make")); //$NON-NLS-1$
|
||||
info.setBuildLocation(new Path("")); //$NON-NLS-1$
|
||||
info.setStopOnError(false);
|
||||
info.setUseDefaultBuildCmd(true);
|
||||
info.setAutoBuildEnable(false);
|
||||
info.setAutoBuildTarget("all"); //$NON-NLS-1$
|
||||
info.setIncrementalBuildEnable(true);
|
||||
info.setIncrementalBuildTarget("all"); //$NON-NLS-1$
|
||||
info.setFullBuildEnable(true);
|
||||
info.setFullBuildTarget("clean all"); //$NON-NLS-1$
|
||||
info.setCleanBuildEnable(true);
|
||||
info.setCleanBuildTarget("clean"); //$NON-NLS-1$
|
||||
info.setErrorParsers(CCorePlugin.getDefault().getAllErrorParsersIDs());
|
||||
} catch (CoreException e) {
|
||||
}
|
||||
MakeCorePlugin.getDefault().getPluginPreferences().setDefault(CCorePlugin.PREF_BINARY_PARSER, CCorePlugin.PLUGIN_ID + ".ELF"); //$NON-NLS-1$
|
||||
|
||||
// default plugin preferences for scanner configuration discovery
|
||||
IScannerConfigBuilderInfo scInfo = MakeCorePlugin.createScannerConfigBuildInfo(MakeCorePlugin.getDefault().getPluginPreferences(), ScannerConfigBuilder.BUILDER_ID, true);
|
||||
try {
|
||||
scInfo.setAutoDiscoveryEnabled(true);
|
||||
scInfo.setMakeBuilderConsoleParserEnabled(true);
|
||||
scInfo.setESIProviderCommandEnabled(true);
|
||||
scInfo.setUseDefaultESIProviderCmd(true);
|
||||
scInfo.setESIProviderCommand(new Path("gcc")); //$NON-NLS-1$
|
||||
scInfo.setESIProviderArguments("-E -P -v ${plugin_state_location}/${specs_file}"); //$NON-NLS-1$
|
||||
scInfo.setESIProviderConsoleParserId(MakeCorePlugin.GCC_SPECS_CONSOLE_PARSER_ID);
|
||||
scInfo.setMakeBuilderConsoleParserId(MakeCorePlugin.GCC_SCANNER_INFO_CONSOLE_PARSER_ID);
|
||||
} catch (CoreException e) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue