From 3e9660ea3ed08d6c6ef2b72fc3c097ebeb2bf6d5 Mon Sep 17 00:00:00 2001 From: Mikhail Sennikovsky Date: Wed, 15 Jun 2005 14:01:51 +0000 Subject: [PATCH] 1.Applied the patch from Bill Hilliard: the tool-settings block is now not created for the non-build resources 2.Fixed the bug with the incorrect obtaining of the resource configuration for the given resource --- .../internal/macros/MbsMacroSupplier.java | 2 +- .../internal/ui/ManagedBuildOptionBlock.java | 8 +++++++- .../ui/properties/ResourceBuildPropertyPage.java | 13 +++++++++---- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java index 58b1f2b2695..40d2375d028 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java @@ -557,7 +557,7 @@ public class MbsMacroSupplier implements IBuildMacroSupplier { private IPath getOutputFilePath(IPath inputPath, IConfiguration cfg){ ITool buildTools[] = null; - IResourceConfiguration rcCfg = cfg.getResourceConfiguration(inputPath.toOSString()); + IResourceConfiguration rcCfg = cfg.getResourceConfiguration(inputPath.toString()); if(rcCfg != null) buildTools = rcCfg.getToolsToInvoke(); else diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/ManagedBuildOptionBlock.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/ManagedBuildOptionBlock.java index 60e14510c37..180be3bd6bb 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/ManagedBuildOptionBlock.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/ManagedBuildOptionBlock.java @@ -81,7 +81,13 @@ public class ManagedBuildOptionBlock extends TabFolderOptionBlock { addTab(environmentBlock = new EnvironmentSetBlock((BuildPropertyPage) fParent)); addTab(macrosBlock = new MacrosSetBlock((BuildPropertyPage) fParent)); } else if (element instanceof IFile) { - addTab(toolsSettingsBlock = new ToolsSettingsBlock((ResourceBuildPropertyPage) fParent, element)); + /* + * If the resource is a known build resource, display the tool settings tab and the rcbs tab. + * If the resource is not a known build resource, only display the rcbs tab. + */ + if(((ResourceBuildPropertyPage)fParent).isBuildResource((IFile)element)) { + addTab(toolsSettingsBlock = new ToolsSettingsBlock((ResourceBuildPropertyPage) fParent, element)); + } addTab(resCustomBuildStepBlock = new ResourceCustomBuildStepBlock((ResourceBuildPropertyPage) fParent)); } else if (element instanceof IWorkspace) { addTab(environmentBlock = new EnvironmentSetBlock((BuildPreferencePage) fParent)); diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ResourceBuildPropertyPage.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ResourceBuildPropertyPage.java index f99bfabe07b..2b63d9634d0 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ResourceBuildPropertyPage.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/ResourceBuildPropertyPage.java @@ -385,11 +385,16 @@ public class ResourceBuildPropertyPage extends PropertyPage implements * @return */ public boolean isBuildResource(IFile file, IConfiguration cfg){ - IResourceConfiguration rcCfg = cfg.getResourceConfiguration(file.getFullPath().toOSString()); + IResourceConfiguration rcCfg = cfg.getResourceConfiguration(file.getFullPath().toString()); if(rcCfg != null){ - ITool tools[] = rcCfg.getToolsToInvoke(); - if(tools != null && tools.length > 0) - return true; + ITool tools[] = rcCfg.getTools(); + if(tools == null || tools.length == 0) + return false; + for (int i = 0; i < tools.length; i++) { + ITool tool = tools[i]; + if (!tool.getCustomBuildStep() || tool.isExtensionElement()) + return true; + } } else { String ext = file.getFileExtension(); ITool[] tools = cfg.getFilteredTools();