org.eclipse.cdt.managedbuilder.internal.core
Class Configuration

java.lang.Object
  extended by org.eclipse.cdt.managedbuilder.internal.core.BuildObject
      extended by org.eclipse.cdt.managedbuilder.internal.core.Configuration
All Implemented Interfaces:
IBuildObject, IBuildObjectPropertiesContainer, IBuildPropertiesRestriction, IConfiguration, IBuildPropertyChangeListener

public class Configuration
extends BuildObject
implements IConfiguration, IBuildPropertiesRestriction, IBuildPropertyChangeListener


Field Summary
 
Fields inherited from interface org.eclipse.cdt.managedbuilder.core.IConfiguration
ARTIFACT_NAME, BUILD_ARTEFACT_TYPE, BUILD_PROPERTIES, CLEAN_COMMAND, CONFIGURATION_ELEMENT_NAME, DESCRIPTION, ERROR_PARSERS, EXTENSION, IS_SYSTEM, PARENT, POSTANNOUNCEBUILD_STEP, POSTBUILD_STEP, PREANNOUNCEBUILD_STEP, PREBUILD_STEP, SOURCE_ENTRIES
 
Fields inherited from interface org.eclipse.cdt.managedbuilder.core.IBuildObject
ID, NAME
 
Constructor Summary
Configuration(ManagedProject managedProject, Configuration cloneConfig, java.lang.String id, boolean cloneChildren, boolean temporary)
           
Configuration(ManagedProject managedProject, Configuration cloneConfig, java.lang.String id, boolean cloneChildren, boolean temporary, boolean isPreferenceConfig)
          Create a new project, non-extension, configuration based on one already defined.
Configuration(ManagedProject managedProject, org.eclipse.cdt.core.settings.model.ICStorageElement element, java.lang.String managedBuildRevision, boolean isPreference)
          Create a Configuration based on the specification stored in the project file (.cdtbuild).
Configuration(ManagedProject managedProject, ToolChain tCh, java.lang.String id, java.lang.String name)
           
Configuration(ProjectType projectType, IConfiguration parentConfig, java.lang.String id)
          Create a new extension configuration based on one already defined.
Configuration(ProjectType projectType, IConfiguration parentConfig, java.lang.String id, java.lang.String name)
          Create a new extension configuration and fill in the attributes and childen later.
Configuration(ProjectType projectType, IManagedConfigElement element, java.lang.String managedBuildRevision)
          Create an extension configuration from the project manifest file element.
 
Method Summary
 void addResourceChangeState(int state)
           
 void applyToManagedProject(ManagedProject mProj)
           
 boolean buildsFileType(java.lang.String srcExt)
           
 ITool calculateTargetTool()
          Calculates the configuration target tool.
 boolean canEnableInternalBuilder(boolean enable)
           
 void changeBuilder(IBuilder newBuilder, java.lang.String id, java.lang.String name)
           
 void changeBuilder(IBuilder newBuilder, java.lang.String id, java.lang.String name, boolean allBuildSettings)
           
 void clearCachedData()
           
 CfgDiscoveredPathManager.PathInfoCache clearDiscoveredPathInfo()
           
 java.util.Set contributeErrorParsers(java.util.Set set, boolean includeChildren)
           
 IFileInfo createFileInfo(org.eclipse.core.runtime.IPath path)
           
 IFileInfo createFileInfo(org.eclipse.core.runtime.IPath path, IFileInfo base, java.lang.String id, java.lang.String name)
           
 IFileInfo createFileInfo(org.eclipse.core.runtime.IPath path, IFolderInfo base, ITool baseTool, java.lang.String id, java.lang.String name)
           
 IFileInfo createFileInfo(org.eclipse.core.runtime.IPath path, java.lang.String id, java.lang.String name)
           
 IFolderInfo createFolderInfo(org.eclipse.core.runtime.IPath path)
           
 IFolderInfo createFolderInfo(org.eclipse.core.runtime.IPath path, IFolderInfo base, java.lang.String id, java.lang.String name)
           
 IFolderInfo createFolderInfo(org.eclipse.core.runtime.IPath path, java.lang.String id, java.lang.String name)
           
 IResourceConfiguration createResourceConfiguration(org.eclipse.core.resources.IFile file)
          Creates a child resource configuration corresponding to the passed in file.
 IToolChain createToolChain(IToolChain superClass, java.lang.String Id, java.lang.String name, boolean isExtensionElement)
          Creates the IToolChain child of this configuration.
 void enableInternalBuilder(boolean enable)
           
 void exportArtifactInfo()
           
 IManagedCommandLineInfo generateToolCommandLineInfo(java.lang.String sourceExtension, java.lang.String[] flags, java.lang.String outputFlag, java.lang.String outputPrefix, java.lang.String outputName, java.lang.String[] inputResources, org.eclipse.core.runtime.IPath inputLocation, org.eclipse.core.runtime.IPath outputLocation)
           
 java.lang.String getArtifactExtension()
          Returns the extension that should be applied to build artifacts created by this configuration.
 java.lang.String getArtifactExtensionAttribute(boolean querySuperClass)
           
 java.lang.String getArtifactName()
          Returns the name of the final build artifact.
 BooleanExpressionApplicabilityCalculator getBooleanExpressionCalculator()
           
 java.lang.String getBuildArguments()
          Returns the build arguments from this configuration's builder
 IBuildPropertyValue getBuildArtefactType()
           
 java.lang.String getBuildCommand()
          Returns the build command from this configuration's builder
 org.eclipse.cdt.core.settings.model.extension.CBuildData getBuildData()
           
 IBuilder getBuilder()
           
 IConfigurationBuildMacroSupplier getBuildMacroSupplier()
          Returns the tool-integrator provided implementation of the configuration build macro supplier or null if none.
 IBuildObjectProperties getBuildProperties()
           
 ICfgScannerConfigBuilderInfo2Set getCfgScannerConfigInfo()
           
 java.lang.String getCleanCommand()
          Answers the OS-specific command to remove files created by the build of this configuration.
 org.eclipse.cdt.core.settings.model.extension.CConfigurationData getConfigurationData()
           
 org.eclipse.cdt.core.settings.model.ICConfigurationDescription getConfigurationDescription()
           
 java.lang.String getDescription()
          Returns the description of the configuration.
 CfgDiscoveredPathManager.PathInfoCache getDiscoveredPathInfo()
           
 java.lang.String getDiscoveryProfileId()
           
 IBuilder getEditableBuilder()
           
 IConfigurationEnvironmentVariableSupplier getEnvironmentVariableSupplier()
          Returns the implementation of the IConfigurationEnvironmentVariableSupplier provided by the tool-integrator or null if none.
 java.lang.String getErrorParserIds()
          Answers the semicolon separated list of unique IDs of the error parsers associated with this configuration.
 java.lang.String getErrorParserIdsAttribute()
           
 java.lang.String[] getErrorParserList()
          Answers the ordered list of unique IDs of the error parsers associated with this configuration.
 ITool[] getFilteredTools()
          Projects have C or CC natures.
 boolean getInternalBuilderIgnoreErr()
           
 boolean getInternalBuilderParallel()
          returns the Internal Builder parallel mode if true, internal builder will work in parallel mode otherwise it will use only one thread
 java.lang.String[] getLibs(java.lang.String extension)
           
 IManagedProject getManagedProject()
          Returns the managed-project parent of this configuration, if this is a project configuration.
 java.lang.String getName()
           
 java.lang.String getOutputExtension(java.lang.String resourceExtension)
           
 java.lang.String getOutputFlag(java.lang.String outputExt)
           
 java.lang.String getOutputPrefix(java.lang.String outputExtension)
           
 org.eclipse.core.resources.IResource getOwner()
          Returns the Eclipse project that owns the configuration.
 boolean getParallelDef()
           
 int getParallelNumber()
          returns number of Parallel threads
 IConfiguration getParent()
          Returns the configuration that this configuration is based on.
 java.lang.String getPostannouncebuildStep()
          Returns the display string associated with the postbuild step
 java.lang.String getPostbuildStep()
          Returns the postbuild step command
 java.lang.String getPreannouncebuildStep()
          Returns the display string associated with the prebuild step
 java.lang.String getPrebuildStep()
          Returns the prebuild step command
 IProjectType getProjectType()
          Returns the project-type parent of this configuration, if this is an extension configuration.
 java.lang.String[] getRequiredTypeIds()
           
 IResourceConfiguration getResourceConfiguration(java.lang.String resPath)
          Returns the resource configuration child of this configuration that is associated with the project resource, or null if none.
 IResourceConfiguration[] getResourceConfigurations()
          Returns the resource configuration children of this configuration.
 IResourceInfo getResourceInfo(org.eclipse.core.runtime.IPath path, boolean exactPath)
           
 IResourceInfo getResourceInfoById(java.lang.String id)
           
 IResourceInfo[] getResourceInfos()
           
 IFolderInfo getRootFolderInfo()
           
 org.eclipse.cdt.core.settings.model.ICSourceEntry[] getSourceEntries()
           
 java.lang.String[] getSupportedTypeIds()
           
 java.lang.String[] getSupportedValueIds(java.lang.String typeId)
           
 ITool getTargetTool()
          Returns the tool in this configuration specified with the toolChain#targetTool attribute that creates the build artifact NOTE: This method returns null in case the toolChain definition does not have the targetTool attribute or if the attribute does not refer to the appropriate tool.
 ITool getTool(java.lang.String id)
          Returns the ITool in this configuration's tool-chain with the same id as the argument, or null.
 IToolChain getToolChain()
          Returns the IToolChain child of this configuration.
 java.lang.String getToolCommand(ITool tool)
          Returns the command-line invocation command for the specified tool.
 ITool getToolFromInputExtension(java.lang.String sourceExtension)
          Returns a ITool for the tool associated with the input extension.
 ITool getToolFromOutputExtension(java.lang.String extension)
          Returns a ITool for the tool associated with the output extension.
 ITool[] getTools()
          Returns the tools that are used in this configuration's tool-chain.
 ITool[] getToolsBySuperClassId(java.lang.String id)
          Returns the ITool in this configuration's tool-chain with the specified ID, or the tool(s) with a superclass with this id.
 java.lang.String[] getUserObjects(java.lang.String extension)
           
 org.eclipse.core.runtime.PluginVersionIdentifier getVersion()
           
 boolean hasOverriddenBuildCommand()
          Returns true if this configuration has overridden the default build build command in this configuration, otherwise false.
 boolean isBuilderCompatible(IBuilder builder)
           
 boolean isDirty()
          Returns true if this configuration has changes that need to be saved in the project file, else false.
 boolean isExtensionElement()
          Returns true if this configuration was loaded from a manifest file, and false if it was loaded from a project (.cdtbuild) file.
 boolean isHeaderFile(java.lang.String ext)
          Returns true if the extension matches one of the special file extensions the tools for the configuration consider to be a header file.
 boolean isInternalBuilderEnabled()
           
 boolean isManagedBuildOn()
           
 boolean isPerRcTypeDiscovery()
           
 boolean isPreference()
           
 boolean isSupported()
          Returns true if the configuration's tool-chain is supported on the system otherwise returns false
 boolean isSystemObject()
           
 boolean isTemporary()
          answers true if the configuration is temporary, otherwise - false
 boolean needsFullRebuild()
          Returns whether this configuration requires a full rebuild
 boolean needsRebuild()
          Returns whether this configuration has been changed and requires the project to be rebuilt.
 boolean needsRebuild(boolean checkChildren)
           
 void propertiesChanged()
           
 void removeResourceConfiguration(IResourceInfo resConfig)
          Removes a resource configuration from the configuration's list.
 void removeResourceInfo(org.eclipse.core.runtime.IPath path)
           
 boolean requiresType(java.lang.String typeId)
           
 void reset()
          Reset the configuration's, tools', options
 void resetErrorParsers()
           
 void resolveReferences()
           
 void serialize(org.eclipse.cdt.core.settings.model.ICStorageElement element)
          Persist this configuration to project file.
 void setArtifactExtension(java.lang.String extension)
          Set (override) the extension that should be appended to the build artifact for the receiver.
 void setArtifactName(java.lang.String name)
          Set the name of the artifact that will be produced when the receiver is built.
 void setBuildArguments(java.lang.String makeArgs)
          Sets the arguments to be passed to the build utility used by the receiver to produce a build goal.
 void setBuildArtefactType(java.lang.String id)
           
 void setBuildCommand(java.lang.String command)
          Sets the build command for the receiver to the value in the argument.
 void setCfgScannerConfigInfo(ICfgScannerConfigBuilderInfo2Set info)
           
 void setCleanCommand(java.lang.String command)
          Sets the command used to clean the outputs of this configuration.
 void setConfigurationDescription(org.eclipse.cdt.core.settings.model.ICConfigurationDescription cfgDes)
           
 void setDescription(java.lang.String description)
          Sets the description of the receiver to the value specified in the argument
 void setDirty(boolean isDirty)
          Sets the element's "dirty" (have I been modified?)
 CfgDiscoveredPathManager.PathInfoCache setDiscoveredPathInfo(CfgDiscoveredPathManager.PathInfoCache info)
           
 void setErrorParserAttribute(java.lang.String[] ids)
           
 void setErrorParserIds(java.lang.String ids)
          Sets the semicolon separated list of error parser ids
 void setErrorParserList(java.lang.String[] ids)
           
 void setInternalBuilderIgnoreErr(boolean ignore)
           
 void setInternalBuilderParallel(boolean parallel)
          sets the Internal Builder Parallel mode
 void setManagedBuildOn(boolean on)
           
 IOption setOption(IHoldsOptions holder, IOption option, boolean value)
          Sets the value of a boolean option for this configuration.
 IOption setOption(IHoldsOptions holder, IOption option, java.lang.String value)
          Sets the value of a string option for this configuration.
 IOption setOption(IHoldsOptions holder, IOption option, java.lang.String[] value)
          Sets the value of a list option for this configuration.
 void setParallelDef(boolean parallel_def)
           
 void setParallelNumber(int n)
          sets number of Parallel threads
 void setParent(IConfiguration parent)
           
 void setPerRcTypeDiscovery(boolean on)
           
 void setPostannouncebuildStep(java.lang.String announceStep)
          Sets the postbuild step display string for the receiver to the value in the argument.
 void setPostbuildStep(java.lang.String step)
          Sets the postbuild step for the receiver to the value in the argument.
 void setPreannouncebuildStep(java.lang.String announceStep)
          Sets the prebuild step display string for the receiver to the value in the argument.
 void setPrebuildStep(java.lang.String step)
          Sets the prebuild step for the receiver to the value in the argument.
 void setRebuildState(boolean rebuild)
          Sets the rebuild state in this configuration.
 void setSourceEntries(org.eclipse.cdt.core.settings.model.ICSourceEntry[] entries)
           
 void setSourceEntries(org.eclipse.cdt.core.settings.model.ICSourceEntry[] entries, boolean setRebuildState)
           
 void setToolCommand(ITool tool, java.lang.String command)
          Overrides the tool command for a tool defined in this configuration's tool-chain.
 void setVersion(org.eclipse.core.runtime.PluginVersionIdentifier version)
           
 boolean supportsBuild(boolean managed)
           
 boolean supportsBuild(boolean managed, boolean checkBuilder)
           
 boolean supportsType(IBuildPropertyType type)
           
 boolean supportsType(java.lang.String typeId)
           
 boolean supportsValue(IBuildPropertyType type, IBuildPropertyValue value)
           
 boolean supportsValue(java.lang.String typeId, java.lang.String valueId)
           
 void updateManagedBuildRevision(java.lang.String revision)
           
 
Methods inherited from class org.eclipse.cdt.managedbuilder.internal.core.BuildObject
getBaseId, getId, getManagedBuildRevision, getVersionFromId, setId, setManagedBuildRevision, setName, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.cdt.managedbuilder.core.IConfiguration
setName
 
Methods inherited from interface org.eclipse.cdt.managedbuilder.core.IBuildObject
getBaseId, getId, getManagedBuildRevision
 

Constructor Detail

Configuration

public Configuration(ProjectType projectType,
                     IManagedConfigElement element,
                     java.lang.String managedBuildRevision)
Create an extension configuration from the project manifest file element.

Parameters:
projectType - The ProjectType the configuration will be added to.
element - The element from the manifest that contains the configuration information.
managedBuildRevision -

Configuration

public Configuration(ProjectType projectType,
                     IConfiguration parentConfig,
                     java.lang.String id)
Create a new extension configuration based on one already defined.

Parameters:
projectType - The ProjectType the configuration will be added to.
parentConfig - The IConfiguration that is the parent configuration of this configuration
id - A unique ID for the new configuration.

Configuration

public Configuration(ProjectType projectType,
                     IConfiguration parentConfig,
                     java.lang.String id,
                     java.lang.String name)
Create a new extension configuration and fill in the attributes and childen later.

Parameters:
projectType - The ProjectType the configuration will be added to.
parentConfig - The IConfiguration that is the parent configuration of this configuration
id - A unique ID for the new configuration.
name - A name for the new configuration.

Configuration

public Configuration(ManagedProject managedProject,
                     org.eclipse.cdt.core.settings.model.ICStorageElement element,
                     java.lang.String managedBuildRevision,
                     boolean isPreference)
Create a Configuration based on the specification stored in the project file (.cdtbuild).

Parameters:
managedProject - The ManagedProject the configuration will be added to.
element - The XML element that contains the configuration settings.

Configuration

public Configuration(ManagedProject managedProject,
                     ToolChain tCh,
                     java.lang.String id,
                     java.lang.String name)

Configuration

public Configuration(ManagedProject managedProject,
                     Configuration cloneConfig,
                     java.lang.String id,
                     boolean cloneChildren,
                     boolean temporary)

Configuration

public Configuration(ManagedProject managedProject,
                     Configuration cloneConfig,
                     java.lang.String id,
                     boolean cloneChildren,
                     boolean temporary,
                     boolean isPreferenceConfig)
Create a new project, non-extension, configuration based on one already defined.

Parameters:
managedProject - The ManagedProject the configuration will be added to.
cloneConfig - The IConfiguration to copy the settings from.
id - A unique ID for the new configuration.
cloneChildren - If true, the configuration's tools are cloned
Method Detail

applyToManagedProject

public void applyToManagedProject(ManagedProject mProj)

serialize

public void serialize(org.eclipse.cdt.core.settings.model.ICStorageElement element)
Persist this configuration to project file.

Parameters:
doc -
element -

getParent

public IConfiguration getParent()
Description copied from interface: IConfiguration
Returns the configuration that this configuration is based on.

Specified by:
getParent in interface IConfiguration
Returns:
IConfiguration

getOwner

public org.eclipse.core.resources.IResource getOwner()
Description copied from interface: IConfiguration
Returns the Eclipse project that owns the configuration.

Specified by:
getOwner in interface IConfiguration
Returns:
IResource

getProjectType

public IProjectType getProjectType()
Description copied from interface: IConfiguration
Returns the project-type parent of this configuration, if this is an extension configuration. Otherwise, returns null.

Specified by:
getProjectType in interface IConfiguration
Returns:
IProjectType

getManagedProject

public IManagedProject getManagedProject()
Description copied from interface: IConfiguration
Returns the managed-project parent of this configuration, if this is a project configuration. Otherwise, returns null.

Specified by:
getManagedProject in interface IConfiguration
Returns:
IManagedProject

createToolChain

public IToolChain createToolChain(IToolChain superClass,
                                  java.lang.String Id,
                                  java.lang.String name,
                                  boolean isExtensionElement)
Description copied from interface: IConfiguration
Creates the IToolChain child of this configuration.

Specified by:
createToolChain in interface IConfiguration
Returns:
IToolChain

getToolChain

public IToolChain getToolChain()
Description copied from interface: IConfiguration
Returns the IToolChain child of this configuration.

Specified by:
getToolChain in interface IConfiguration
Returns:
IToolChain

getResourceConfigurations

public IResourceConfiguration[] getResourceConfigurations()
Description copied from interface: IConfiguration
Returns the resource configuration children of this configuration.

Specified by:
getResourceConfigurations in interface IConfiguration
Returns:
IResourceConfigurations[]

getResourceConfiguration

public IResourceConfiguration getResourceConfiguration(java.lang.String resPath)
Description copied from interface: IConfiguration
Returns the resource configuration child of this configuration that is associated with the project resource, or null if none.

Specified by:
getResourceConfiguration in interface IConfiguration
Returns:
IResourceConfiguration

getFilteredTools

public ITool[] getFilteredTools()
Description copied from interface: IConfiguration
Projects have C or CC natures. Tools can specify a filter so they are not misapplied to a project. This method allows the caller to retrieve a list of tools from a project that are correct for a project's nature.

Specified by:
getFilteredTools in interface IConfiguration
Returns:
an array of ITools that have compatible filters for this configuration.

getTools

public ITool[] getTools()
Description copied from interface: IConfiguration
Returns the tools that are used in this configuration's tool-chain.

Specified by:
getTools in interface IConfiguration
Returns:
ITool[]

getTool

public ITool getTool(java.lang.String id)
Description copied from interface: IConfiguration
Returns the ITool in this configuration's tool-chain with the same id as the argument, or null.

Specified by:
getTool in interface IConfiguration
Parameters:
id - unique identifier to search for
Returns:
ITool

getToolsBySuperClassId

public ITool[] getToolsBySuperClassId(java.lang.String id)
Description copied from interface: IConfiguration
Returns the ITool in this configuration's tool-chain with the specified ID, or the tool(s) with a superclass with this id.

If the tool-chain does not have a tool with that ID, the method returns an empty array. It is the responsibility of the caller to verify the return value.

Specified by:
getToolsBySuperClassId in interface IConfiguration
Parameters:
id - unique identifier of the tool to search for
Returns:
ITool[]

getTargetTool

public ITool getTargetTool()
Description copied from interface: IConfiguration
Returns the tool in this configuration specified with the toolChain#targetTool attribute that creates the build artifact NOTE: This method returns null in case the toolChain definition does not have the targetTool attribute or if the attribute does not refer to the appropriate tool. For the target tool calculation the IConfiguration#calculateTargetTool() method should be used

Specified by:
getTargetTool in interface IConfiguration
Returns:
ITool
See Also:
IConfiguration.calculateTargetTool()

getToolCommand

public java.lang.String getToolCommand(ITool tool)
Description copied from interface: IConfiguration
Returns the command-line invocation command for the specified tool.

Specified by:
getToolCommand in interface IConfiguration
Parameters:
tool - The tool that will have its command retrieved.
Returns:
String The command

setToolCommand

public void setToolCommand(ITool tool,
                           java.lang.String command)
Description copied from interface: IConfiguration
Overrides the tool command for a tool defined in this configuration's tool-chain.

Specified by:
setToolCommand in interface IConfiguration
Parameters:
tool - The tool that will have its command modified.
command - The command

setOption

public IOption setOption(IHoldsOptions holder,
                         IOption option,
                         boolean value)
                  throws BuildException
Description copied from interface: IConfiguration
Sets the value of a boolean option for this configuration.

Specified by:
setOption in interface IConfiguration
Parameters:
holder - The holder/parent of the option.
option - The option to change.
value - The value to apply to the option.
Returns:
IOption The modified option. This can be the same option or a newly created option.
Throws:
BuildException

setOption

public IOption setOption(IHoldsOptions holder,
                         IOption option,
                         java.lang.String value)
                  throws BuildException
Description copied from interface: IConfiguration
Sets the value of a string option for this configuration.

Specified by:
setOption in interface IConfiguration
Parameters:
holder - The holder/parent of the option.
option - The option that will be effected by change.
value - The value to apply to the option.
Returns:
IOption The modified option. This can be the same option or a newly created option.
Throws:
BuildException

setOption

public IOption setOption(IHoldsOptions holder,
                         IOption option,
                         java.lang.String[] value)
                  throws BuildException
Description copied from interface: IConfiguration
Sets the value of a list option for this configuration.

Specified by:
setOption in interface IConfiguration
Parameters:
holder - The holder/parent of the option.
option - The option to change.
value - The values to apply to the option.
Returns:
IOption The modified option. This can be the same option or a newly created option.
Throws:
BuildException

removeResourceConfiguration

public void removeResourceConfiguration(IResourceInfo resConfig)
Description copied from interface: IConfiguration
Removes a resource configuration from the configuration's list.

Specified by:
removeResourceConfiguration in interface IConfiguration

getName

public java.lang.String getName()
Specified by:
getName in interface IBuildObject
Overrides:
getName in class BuildObject

getArtifactExtension

public java.lang.String getArtifactExtension()
Description copied from interface: IConfiguration
Returns the extension that should be applied to build artifacts created by this configuration.

Specified by:
getArtifactExtension in interface IConfiguration
Returns:
String

getArtifactExtensionAttribute

public java.lang.String getArtifactExtensionAttribute(boolean querySuperClass)

getArtifactName

public java.lang.String getArtifactName()
Description copied from interface: IConfiguration
Returns the name of the final build artifact.

Specified by:
getArtifactName in interface IConfiguration
Returns:
String

getBuildArguments

public java.lang.String getBuildArguments()
Description copied from interface: IConfiguration
Returns the build arguments from this configuration's builder

Specified by:
getBuildArguments in interface IConfiguration
Returns:
String

getBuildCommand

public java.lang.String getBuildCommand()
Description copied from interface: IConfiguration
Returns the build command from this configuration's builder

Specified by:
getBuildCommand in interface IConfiguration
Returns:
String

getPrebuildStep

public java.lang.String getPrebuildStep()
Description copied from interface: IConfiguration
Returns the prebuild step command

Specified by:
getPrebuildStep in interface IConfiguration
Returns:
String

getPostbuildStep

public java.lang.String getPostbuildStep()
Description copied from interface: IConfiguration
Returns the postbuild step command

Specified by:
getPostbuildStep in interface IConfiguration
Returns:
String

getPreannouncebuildStep

public java.lang.String getPreannouncebuildStep()
Description copied from interface: IConfiguration
Returns the display string associated with the prebuild step

Specified by:
getPreannouncebuildStep in interface IConfiguration
Returns:
String

getPostannouncebuildStep

public java.lang.String getPostannouncebuildStep()
Description copied from interface: IConfiguration
Returns the display string associated with the postbuild step

Specified by:
getPostannouncebuildStep in interface IConfiguration
Returns:
String

getCleanCommand

public java.lang.String getCleanCommand()
Description copied from interface: IConfiguration
Answers the OS-specific command to remove files created by the build of this configuration.

Specified by:
getCleanCommand in interface IConfiguration
Returns:
String

getDescription

public java.lang.String getDescription()
Description copied from interface: IConfiguration
Returns the description of the configuration.

Specified by:
getDescription in interface IConfiguration
Returns:
String

getErrorParserIds

public java.lang.String getErrorParserIds()
Description copied from interface: IConfiguration
Answers the semicolon separated list of unique IDs of the error parsers associated with this configuration.

Specified by:
getErrorParserIds in interface IConfiguration
Returns:
String

getErrorParserIdsAttribute

public java.lang.String getErrorParserIdsAttribute()

getErrorParserList

public java.lang.String[] getErrorParserList()
Description copied from interface: IConfiguration
Answers the ordered list of unique IDs of the error parsers associated with this configuration.

Specified by:
getErrorParserList in interface IConfiguration
Returns:
String[]

contributeErrorParsers

public java.util.Set contributeErrorParsers(java.util.Set set,
                                            boolean includeChildren)

setArtifactExtension

public void setArtifactExtension(java.lang.String extension)
Description copied from interface: IConfiguration
Set (override) the extension that should be appended to the build artifact for the receiver.

Specified by:
setArtifactExtension in interface IConfiguration

setArtifactName

public void setArtifactName(java.lang.String name)
Description copied from interface: IConfiguration
Set the name of the artifact that will be produced when the receiver is built.

Specified by:
setArtifactName in interface IConfiguration

setErrorParserIds

public void setErrorParserIds(java.lang.String ids)
Description copied from interface: IConfiguration
Sets the semicolon separated list of error parser ids

Specified by:
setErrorParserIds in interface IConfiguration

setCleanCommand

public void setCleanCommand(java.lang.String command)
Description copied from interface: IConfiguration
Sets the command used to clean the outputs of this configuration.

Specified by:
setCleanCommand in interface IConfiguration

setDescription

public void setDescription(java.lang.String description)
Description copied from interface: IConfiguration
Sets the description of the receiver to the value specified in the argument

Specified by:
setDescription in interface IConfiguration

setBuildArguments

public void setBuildArguments(java.lang.String makeArgs)
Description copied from interface: IConfiguration
Sets the arguments to be passed to the build utility used by the receiver to produce a build goal.

Specified by:
setBuildArguments in interface IConfiguration

setBuildCommand

public void setBuildCommand(java.lang.String command)
Description copied from interface: IConfiguration
Sets the build command for the receiver to the value in the argument.

Specified by:
setBuildCommand in interface IConfiguration

setPrebuildStep

public void setPrebuildStep(java.lang.String step)
Description copied from interface: IConfiguration
Sets the prebuild step for the receiver to the value in the argument.

Specified by:
setPrebuildStep in interface IConfiguration

setPostbuildStep

public void setPostbuildStep(java.lang.String step)
Description copied from interface: IConfiguration
Sets the postbuild step for the receiver to the value in the argument.

Specified by:
setPostbuildStep in interface IConfiguration

setPreannouncebuildStep

public void setPreannouncebuildStep(java.lang.String announceStep)
Description copied from interface: IConfiguration
Sets the prebuild step display string for the receiver to the value in the argument.

Specified by:
setPreannouncebuildStep in interface IConfiguration

setPostannouncebuildStep

public void setPostannouncebuildStep(java.lang.String announceStep)
Description copied from interface: IConfiguration
Sets the postbuild step display string for the receiver to the value in the argument.

Specified by:
setPostannouncebuildStep in interface IConfiguration

isSupported

public boolean isSupported()
Description copied from interface: IConfiguration
Returns true if the configuration's tool-chain is supported on the system otherwise returns false

Specified by:
isSupported in interface IConfiguration
Returns:
boolean

isHeaderFile

public boolean isHeaderFile(java.lang.String ext)
Description copied from interface: IConfiguration
Returns true if the extension matches one of the special file extensions the tools for the configuration consider to be a header file.

Specified by:
isHeaderFile in interface IConfiguration
Parameters:
ext - the file extension of the resource
Returns:
boolean

isExtensionElement

public boolean isExtensionElement()
Description copied from interface: IConfiguration
Returns true if this configuration was loaded from a manifest file, and false if it was loaded from a project (.cdtbuild) file.

Specified by:
isExtensionElement in interface IConfiguration
Returns:
boolean

isDirty

public boolean isDirty()
Description copied from interface: IConfiguration
Returns true if this configuration has changes that need to be saved in the project file, else false. Should not be called for an extension configuration.

Specified by:
isDirty in interface IConfiguration
Returns:
boolean

needsRebuild

public boolean needsRebuild()
Description copied from interface: IConfiguration
Returns whether this configuration has been changed and requires the project to be rebuilt.

Specified by:
needsRebuild in interface IConfiguration
Returns:
true if the configuration contains a change that needs the project to be rebuilt. Should not be called for an extension configuration.

needsFullRebuild

public boolean needsFullRebuild()
Description copied from interface: IConfiguration
Returns whether this configuration requires a full rebuild

Specified by:
needsFullRebuild in interface IConfiguration
Returns:
boolean

needsRebuild

public boolean needsRebuild(boolean checkChildren)

setDirty

public void setDirty(boolean isDirty)
Description copied from interface: IConfiguration
Sets the element's "dirty" (have I been modified?) flag.

Specified by:
setDirty in interface IConfiguration

setRebuildState

public void setRebuildState(boolean rebuild)
Description copied from interface: IConfiguration
Sets the rebuild state in this configuration.

Specified by:
setRebuildState in interface IConfiguration
Parameters:
rebuild - true will force a rebuild the next time the project builds
See Also:
IManagedBuildInfo.setRebuildState(boolean)

hasOverriddenBuildCommand

public boolean hasOverriddenBuildCommand()
Description copied from interface: IConfiguration
Returns true if this configuration has overridden the default build build command in this configuration, otherwise false.

Specified by:
hasOverriddenBuildCommand in interface IConfiguration
Returns:
boolean

resolveReferences

public void resolveReferences()

reset

public void reset()
Reset the configuration's, tools', options


createResourceConfiguration

public IResourceConfiguration createResourceConfiguration(org.eclipse.core.resources.IFile file)
Description copied from interface: IConfiguration
Creates a child resource configuration corresponding to the passed in file.

Specified by:
createResourceConfiguration in interface IConfiguration
Returns:
IResourceConfiguration

createFileInfo

public IFileInfo createFileInfo(org.eclipse.core.runtime.IPath path)
Specified by:
createFileInfo in interface IConfiguration

createFileInfo

public IFileInfo createFileInfo(org.eclipse.core.runtime.IPath path,
                                java.lang.String id,
                                java.lang.String name)
Specified by:
createFileInfo in interface IConfiguration

createFileInfo

public IFileInfo createFileInfo(org.eclipse.core.runtime.IPath path,
                                IFolderInfo base,
                                ITool baseTool,
                                java.lang.String id,
                                java.lang.String name)
Specified by:
createFileInfo in interface IConfiguration

createFileInfo

public IFileInfo createFileInfo(org.eclipse.core.runtime.IPath path,
                                IFileInfo base,
                                java.lang.String id,
                                java.lang.String name)
Specified by:
createFileInfo in interface IConfiguration

getEnvironmentVariableSupplier

public IConfigurationEnvironmentVariableSupplier getEnvironmentVariableSupplier()
Description copied from interface: IConfiguration
Returns the implementation of the IConfigurationEnvironmentVariableSupplier provided by the tool-integrator or null if none.

Specified by:
getEnvironmentVariableSupplier in interface IConfiguration
Returns:
IConfigurationEnvironmentVariableSupplier

getVersion

public org.eclipse.core.runtime.PluginVersionIdentifier getVersion()
Specified by:
getVersion in interface IBuildObject
Overrides:
getVersion in class BuildObject
Returns:
Returns the version.

setVersion

public void setVersion(org.eclipse.core.runtime.PluginVersionIdentifier version)
Specified by:
setVersion in interface IBuildObject
Overrides:
setVersion in class BuildObject
Parameters:
version - The version to set.

getBuildMacroSupplier

public IConfigurationBuildMacroSupplier getBuildMacroSupplier()
Description copied from interface: IConfiguration
Returns the tool-integrator provided implementation of the configuration build macro supplier or null if none.

Specified by:
getBuildMacroSupplier in interface IConfiguration
Returns:
IConfigurationBuildMacroSupplier

isTemporary

public boolean isTemporary()
Description copied from interface: IConfiguration
answers true if the configuration is temporary, otherwise - false

Specified by:
isTemporary in interface IConfiguration
Returns:
boolean

updateManagedBuildRevision

public void updateManagedBuildRevision(java.lang.String revision)
Overrides:
updateManagedBuildRevision in class BuildObject

setParent

public void setParent(IConfiguration parent)

calculateTargetTool

public ITool calculateTargetTool()
Description copied from interface: IConfiguration
Calculates the configuration target tool.

Specified by:
calculateTargetTool in interface IConfiguration
Returns:
ITool or null if not found

getToolFromOutputExtension

public ITool getToolFromOutputExtension(java.lang.String extension)
Description copied from interface: IConfiguration
Returns a ITool for the tool associated with the output extension.

Specified by:
getToolFromOutputExtension in interface IConfiguration
Parameters:
extension - the file extension of the output file
Returns:
ITool

getToolFromInputExtension

public ITool getToolFromInputExtension(java.lang.String sourceExtension)
Description copied from interface: IConfiguration
Returns a ITool for the tool associated with the input extension.

Specified by:
getToolFromInputExtension in interface IConfiguration
Returns:
ITool

addResourceChangeState

public void addResourceChangeState(int state)

enableInternalBuilder

public void enableInternalBuilder(boolean enable)

canEnableInternalBuilder

public boolean canEnableInternalBuilder(boolean enable)

isInternalBuilderEnabled

public boolean isInternalBuilderEnabled()

setInternalBuilderIgnoreErr

public void setInternalBuilderIgnoreErr(boolean ignore)

getInternalBuilderIgnoreErr

public boolean getInternalBuilderIgnoreErr()

setInternalBuilderParallel

public void setInternalBuilderParallel(boolean parallel)
sets the Internal Builder Parallel mode

Parameters:
parallel - if true, internal builder will use parallel mode

getInternalBuilderParallel

public boolean getInternalBuilderParallel()
returns the Internal Builder parallel mode if true, internal builder will work in parallel mode otherwise it will use only one thread

Returns:
boolean

setParallelDef

public void setParallelDef(boolean parallel_def)
Parameters:
parallel - if true, internal builder will use parallel mode

getParallelDef

public boolean getParallelDef()
Returns:
boolean

setParallelNumber

public void setParallelNumber(int n)
sets number of Parallel threads

Parameters:
int -

getParallelNumber

public int getParallelNumber()
returns number of Parallel threads

Returns:
int

getResourceInfos

public IResourceInfo[] getResourceInfos()
Specified by:
getResourceInfos in interface IConfiguration

getResourceInfo

public IResourceInfo getResourceInfo(org.eclipse.core.runtime.IPath path,
                                     boolean exactPath)
Specified by:
getResourceInfo in interface IConfiguration

getResourceInfoById

public IResourceInfo getResourceInfoById(java.lang.String id)
Specified by:
getResourceInfoById in interface IConfiguration

getRootFolderInfo

public IFolderInfo getRootFolderInfo()
Specified by:
getRootFolderInfo in interface IConfiguration

getConfigurationData

public org.eclipse.cdt.core.settings.model.extension.CConfigurationData getConfigurationData()
Specified by:
getConfigurationData in interface IConfiguration

removeResourceInfo

public void removeResourceInfo(org.eclipse.core.runtime.IPath path)
Specified by:
removeResourceInfo in interface IConfiguration

createFolderInfo

public IFolderInfo createFolderInfo(org.eclipse.core.runtime.IPath path)
Specified by:
createFolderInfo in interface IConfiguration

createFolderInfo

public IFolderInfo createFolderInfo(org.eclipse.core.runtime.IPath path,
                                    java.lang.String id,
                                    java.lang.String name)
Specified by:
createFolderInfo in interface IConfiguration

createFolderInfo

public IFolderInfo createFolderInfo(org.eclipse.core.runtime.IPath path,
                                    IFolderInfo base,
                                    java.lang.String id,
                                    java.lang.String name)
Specified by:
createFolderInfo in interface IConfiguration

getSourceEntries

public org.eclipse.cdt.core.settings.model.ICSourceEntry[] getSourceEntries()
Specified by:
getSourceEntries in interface IConfiguration

setSourceEntries

public void setSourceEntries(org.eclipse.cdt.core.settings.model.ICSourceEntry[] entries)
Specified by:
setSourceEntries in interface IConfiguration

setSourceEntries

public void setSourceEntries(org.eclipse.cdt.core.settings.model.ICSourceEntry[] entries,
                             boolean setRebuildState)

setErrorParserAttribute

public void setErrorParserAttribute(java.lang.String[] ids)

setErrorParserList

public void setErrorParserList(java.lang.String[] ids)
Specified by:
setErrorParserList in interface IConfiguration

resetErrorParsers

public void resetErrorParsers()

getBuildData

public org.eclipse.cdt.core.settings.model.extension.CBuildData getBuildData()
Specified by:
getBuildData in interface IConfiguration

getEditableBuilder

public IBuilder getEditableBuilder()
Specified by:
getEditableBuilder in interface IConfiguration

getBuilder

public IBuilder getBuilder()
Specified by:
getBuilder in interface IConfiguration

getOutputPrefix

public java.lang.String getOutputPrefix(java.lang.String outputExtension)
Specified by:
getOutputPrefix in interface IConfiguration

getConfigurationDescription

public org.eclipse.cdt.core.settings.model.ICConfigurationDescription getConfigurationDescription()

setConfigurationDescription

public void setConfigurationDescription(org.eclipse.cdt.core.settings.model.ICConfigurationDescription cfgDes)

getBuildProperties

public IBuildObjectProperties getBuildProperties()
Specified by:
getBuildProperties in interface IBuildObjectPropertiesContainer

supportsType

public boolean supportsType(IBuildPropertyType type)

supportsValue

public boolean supportsValue(IBuildPropertyType type,
                             IBuildPropertyValue value)

propertiesChanged

public void propertiesChanged()
Specified by:
propertiesChanged in interface IBuildPropertyChangeListener

getBooleanExpressionCalculator

public BooleanExpressionApplicabilityCalculator getBooleanExpressionCalculator()

isSystemObject

public boolean isSystemObject()
Specified by:
isSystemObject in interface IConfiguration

getOutputExtension

public java.lang.String getOutputExtension(java.lang.String resourceExtension)
Specified by:
getOutputExtension in interface IConfiguration

getOutputFlag

public java.lang.String getOutputFlag(java.lang.String outputExt)
Specified by:
getOutputFlag in interface IConfiguration

generateToolCommandLineInfo

public IManagedCommandLineInfo generateToolCommandLineInfo(java.lang.String sourceExtension,
                                                           java.lang.String[] flags,
                                                           java.lang.String outputFlag,
                                                           java.lang.String outputPrefix,
                                                           java.lang.String outputName,
                                                           java.lang.String[] inputResources,
                                                           org.eclipse.core.runtime.IPath inputLocation,
                                                           org.eclipse.core.runtime.IPath outputLocation)
Specified by:
generateToolCommandLineInfo in interface IConfiguration

getUserObjects

public java.lang.String[] getUserObjects(java.lang.String extension)
Specified by:
getUserObjects in interface IConfiguration

getLibs

public java.lang.String[] getLibs(java.lang.String extension)
Specified by:
getLibs in interface IConfiguration

buildsFileType

public boolean buildsFileType(java.lang.String srcExt)
Specified by:
buildsFileType in interface IConfiguration

exportArtifactInfo

public void exportArtifactInfo()

supportsBuild

public boolean supportsBuild(boolean managed)
Specified by:
supportsBuild in interface IConfiguration

supportsBuild

public boolean supportsBuild(boolean managed,
                             boolean checkBuilder)

supportsType

public boolean supportsType(java.lang.String typeId)
Specified by:
supportsType in interface IBuildPropertiesRestriction

supportsValue

public boolean supportsValue(java.lang.String typeId,
                             java.lang.String valueId)
Specified by:
supportsValue in interface IBuildPropertiesRestriction

getRequiredTypeIds

public java.lang.String[] getRequiredTypeIds()
Specified by:
getRequiredTypeIds in interface IBuildPropertiesRestriction

getSupportedTypeIds

public java.lang.String[] getSupportedTypeIds()
Specified by:
getSupportedTypeIds in interface IBuildPropertiesRestriction

getSupportedValueIds

public java.lang.String[] getSupportedValueIds(java.lang.String typeId)
Specified by:
getSupportedValueIds in interface IBuildPropertiesRestriction

requiresType

public boolean requiresType(java.lang.String typeId)
Specified by:
requiresType in interface IBuildPropertiesRestriction

isManagedBuildOn

public boolean isManagedBuildOn()
Specified by:
isManagedBuildOn in interface IConfiguration

setManagedBuildOn

public void setManagedBuildOn(boolean on)
                       throws BuildException
Specified by:
setManagedBuildOn in interface IConfiguration
Throws:
BuildException

changeBuilder

public void changeBuilder(IBuilder newBuilder,
                          java.lang.String id,
                          java.lang.String name)
Specified by:
changeBuilder in interface IConfiguration

changeBuilder

public void changeBuilder(IBuilder newBuilder,
                          java.lang.String id,
                          java.lang.String name,
                          boolean allBuildSettings)

isBuilderCompatible

public boolean isBuilderCompatible(IBuilder builder)
Specified by:
isBuilderCompatible in interface IConfiguration

isPerRcTypeDiscovery

public boolean isPerRcTypeDiscovery()

setPerRcTypeDiscovery

public void setPerRcTypeDiscovery(boolean on)

setDiscoveredPathInfo

public CfgDiscoveredPathManager.PathInfoCache setDiscoveredPathInfo(CfgDiscoveredPathManager.PathInfoCache info)

getDiscoveredPathInfo

public CfgDiscoveredPathManager.PathInfoCache getDiscoveredPathInfo()

getDiscoveryProfileId

public java.lang.String getDiscoveryProfileId()

clearDiscoveredPathInfo

public CfgDiscoveredPathManager.PathInfoCache clearDiscoveredPathInfo()

getCfgScannerConfigInfo

public ICfgScannerConfigBuilderInfo2Set getCfgScannerConfigInfo()

setCfgScannerConfigInfo

public void setCfgScannerConfigInfo(ICfgScannerConfigBuilderInfo2Set info)

clearCachedData

public void clearCachedData()

isPreference

public boolean isPreference()

getBuildArtefactType

public IBuildPropertyValue getBuildArtefactType()
Specified by:
getBuildArtefactType in interface IConfiguration

setBuildArtefactType

public void setBuildArtefactType(java.lang.String id)
                          throws BuildException
Specified by:
setBuildArtefactType in interface IConfiguration
Throws:
BuildException