1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-29 03:45:35 +02:00

Using list of exsternal scanner info providers to discover project scanner info instead of hard coded value.

This commit is contained in:
Vladimir Hirsl 2005-06-02 18:54:34 +00:00
parent 6df326b48c
commit 041dbf3c91

View file

@ -57,9 +57,7 @@ import org.eclipse.core.runtime.Platform;
public class ManagedBuildCPathEntryContainer implements IPathEntryContainer { public class ManagedBuildCPathEntryContainer implements IPathEntryContainer {
// Managed make per project scanner configuration discovery profile // Managed make per project scanner configuration discovery profile
public static final String MM_PP_DISCOVERY_PROFILE_ID = ManagedBuilderCorePlugin.getUniqueIdentifier() + ".GCCManagedMakePerProjectProfile"; //$NON-NLS-1$ public static final String MM_PP_DISCOVERY_PROFILE_ID = ManagedBuilderCorePlugin.getUniqueIdentifier() + ".GCCManagedMakePerProjectProfile"; //$NON-NLS-1$
private static final String SPECS_FILE_PROVIDER = "specsFile"; //$NON-NLS-1$
private static final String BUILDER_ID = MakeCorePlugin.getUniqueIdentifier() + ".ScannerConfigBuilder"; //$NON-NLS-1$
private static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$ private static final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
private static final String ERROR_HEADER = "PathEntryContainer error ["; //$NON-NLS-1$ private static final String ERROR_HEADER = "PathEntryContainer error ["; //$NON-NLS-1$
private static final String TRACE_FOOTER = "]: "; //$NON-NLS-1$ private static final String TRACE_FOOTER = "]: "; //$NON-NLS-1$
@ -176,14 +174,17 @@ public class ManagedBuildCPathEntryContainer implements IPathEntryContainer {
final IScannerConfigBuilderInfo2 buildInfo = ScannerConfigProfileManager. final IScannerConfigBuilderInfo2 buildInfo = ScannerConfigProfileManager.
createScannerConfigBuildInfo2(MakeCorePlugin.getDefault().getPluginPreferences(), createScannerConfigBuildInfo2(MakeCorePlugin.getDefault().getPluginPreferences(),
profileInstance.getProfile().getId(), false); profileInstance.getProfile().getId(), false);
final IExternalScannerInfoProvider esiProvider = profileInstance.createExternalScannerInfoProvider(SPECS_FILE_PROVIDER); List providerIds = buildInfo.getProviderIdList();
for (Iterator i = providerIds.iterator(); i.hasNext(); ) {
final String providerId = (String) i.next();
final IExternalScannerInfoProvider esiProvider = profileInstance.createExternalScannerInfoProvider(providerId);
// Set the arguments for the provider // Set the arguments for the provider
ISafeRunnable runnable = new ISafeRunnable() { ISafeRunnable runnable = new ISafeRunnable() {
public void run() { public void run() {
IProgressMonitor monitor = new NullProgressMonitor(); IProgressMonitor monitor = new NullProgressMonitor();
esiProvider.invokeProvider(monitor, project, SPECS_FILE_PROVIDER, buildInfo, collector); esiProvider.invokeProvider(monitor, project, providerId, buildInfo, collector);
} }
public void handleException(Throwable exception) { public void handleException(Throwable exception) {
@ -194,6 +195,7 @@ public class ManagedBuildCPathEntryContainer implements IPathEntryContainer {
}; };
Platform.run(runnable); Platform.run(runnable);
} }
}
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.cdt.core.model.IPathEntryContainer#getPathEntries() * @see org.eclipse.cdt.core.model.IPathEntryContainer#getPathEntries()