Carbide.c++

com.nokia.carbide.cdt.builder
Class EpocEngineHelper

java.lang.Object
  extended by com.nokia.carbide.cdt.builder.EpocEngineHelper

public class EpocEngineHelper
extends java.lang.Object


Constructor Summary
EpocEngineHelper()
           
 
Method Summary
static void addIncludedFilesFromBldInf(ICarbideProjectInfo projectInfo, ICarbideBuildConfiguration buildConfig, IPath bldinfPath, java.util.Collection<IPath> pathList)
          Get all the #include files, plus self, referenced by a given bld.inf file in either a specific build configuration or all build configurations.
static void addIncludedFilesFromBldInf(IPath projectPath, IPath bldinfPath, java.util.Collection<IPath> pathList)
          Get all the #include files, plus self, referenced by a given bld.inf file in any configuration.
static void addIncludedFilesFromMMP(ICarbideProjectInfo projectInfo, ICarbideBuildConfiguration buildConfig, IPath mmpPath, java.util.Collection<IPath> pathList)
          Get all the #include files, plus self, referenced by a given MMP file in either a specific build configuration or all build configurations.
static void addIncludedFilesFromMMP(IPath projectPath, IPath mmpPath, java.util.Collection<IPath> pathList)
          Get all the #include files, plus self, referenced by a given MMP file in any configuration.
static void addIncludePathToProject(IProject project, IPath projectRelativeIncDirPath)
          Adds the given include path as a user include path to all mmps in the project for all build configurations
static void getAllMakMakeFiles(IProject project, java.util.List<IPath> makMakeRefs, java.util.List<IPath> testMakMakeReferences)
          Get full filesystem paths to all MMPs and makefiles (including test targets) accessible from the given project's bld.inf.
static java.util.List<IPath> getComponentsBuiltByConifguration(ICarbideBuildConfiguration buildConfig)
          Gets the list of mmp and makefiles being built by the given build configuration.
static IPath getEpocRootForProject(IProject project)
          Returns the absolute file system path to the EPOCROOT directory of the SDK for the active build configuration of the project
static void getExtensions(IPath bldInfFilePath, java.util.List<ISymbianBuildContext> buildConfigs, java.util.List<IPath> normalExtensionPaths, java.util.List<IPath> testExtensionPaths, IProgressMonitor monitor)
          Return list of file system paths to all project extensions referenced by the given bld.inf full path.
static java.util.List<IPath> getFilesInPKG(IPath pkgPath, ICarbideBuildConfiguration buildConfig, ISISBuilderInfo sisInfo)
          Returns a list of absolute host paths for any files in the given pkg file.
static java.util.HashMap<java.lang.String,java.lang.String> getHostAndTargetImages(ICarbideBuildConfiguration buildConfig)
          Get a map of the generated images from image makefiles for the project.
static java.util.HashMap<java.lang.String,java.lang.String> getHostAndTargetResources(ICarbideBuildConfiguration buildConfig, IPath workspaceRelativeMMPPath)
          Get a map of the generated resources for the project.
static java.util.HashMap<java.lang.String,java.lang.String> getHostAndTargetResources(ICarbideProjectInfo info)
          Deprecated. In 1.3, there is no longer a debug mmp, hence no "main" executable. When launching, if there is more than one mmp, the user will be asked which executable to target. Use getHostAndTargetResources(ICarbideBuildConfiguration, IPath) instead. This method will only work now if there is one and only one mmp. Otherwise it will return an empty map.
static IPath getHostPathForExecutable(ICarbideBuildConfiguration buildConfig, IPath workspaceRelativeMMPPath)
          Find the full host file system path to the executable built by the given mmp for the given build configuration.
static IPath[] getLibDirectoriesForBuildContext(ISymbianBuildContext buildContext)
          Return the set of directories containing SDK libraries for a build context, taking into account the SDK, platform and target.
static void getMakMakeFiles(IPath bldInfFilePath, java.util.List<ISymbianBuildContext> buildConfigs, java.util.List<IPath> normalMakMakePaths, java.util.List<IPath> testMakMakePaths, IProgressMonitor monitor)
          Return list of filesystem paths to all MMPs and makefiles referenced by the given bld.inf full path.
static java.util.List<IPath> getMMPFilesForBuildConfiguration(ICarbideBuildConfiguration buildConfig)
          Get the list of all mmp file paths that are applicable to the given build configuration.
static java.util.List<IPath> getMMPFilesForProject(ICarbideProjectInfo projectInfo)
          Get the list of all mmp file paths for any and all build configurations of a project.
static void getMMPIncludePaths(IProject project, IPath mmp, ICarbideBuildConfiguration buildConfiguration, java.util.List<java.io.File> userPaths, java.util.List<java.io.File> systemPaths)
          Get the resolved user and system include paths from the given MMP and build context.
static java.util.List<java.lang.String> getMMPMacrosForBuildConfiguration(IPath workspaceRelativeMMPPath, ICarbideBuildConfiguration buildConfig)
          Get the list of all macros defined in the specified mmp file supported by specified build configuration.
static java.util.List<IPath> getMMPsForSource(IProject project, IPath sourcePath)
          Get the MMP file that is the parent to a given source file for a given project.
static void getPathToAllExecutables(ICarbideBuildConfiguration buildConfig, java.util.List<IPath> allExePaths, java.util.List<IPath> currBuiltExePaths, java.util.List<IPath> allMMPPaths, java.util.List<IPath> currBuiltMMPPaths)
          Returns host paths to all the executables built by the project for the given build configuration.
static void getPathToAllExecutables(ICarbideProjectInfo info, java.util.List<IPath> allExePaths, java.util.List<IPath> currBuiltExePaths)
          Returns host paths to all the executables built by the project for the default build configuration.
static java.lang.String getPathToMainExecutable(ICarbideBuildConfiguration buildConfig)
          Deprecated. In 1.3, there is no longer a debug mmp, hence no "main" executable. When launching, if there is more than one mmp, the user will be asked which executable to target. Use getHostPathForExecutable(ICarbideBuildConfiguration, IPath) instead. This method will only work now if there is one and only one mmp. Otherwise it will return an empty string.
static java.lang.String getPathToMainExecutable(ICarbideProjectInfo info)
          Deprecated. In 1.3, there is no longer a debug mmp, hence no "main" executable. When launching, if there is more than one mmp, the user will be asked which executable to target. Use getHostPathForExecutable(ICarbideBuildConfiguration, IPath) instead. This method will only work now if there is one and only one mmp. Otherwise it will return an empty string.
static void getProjectIncludePaths(ICarbideProjectInfo projectInfo, ICarbideBuildConfiguration buildConfiguration, java.util.List<java.io.File> userPaths, java.util.List<java.io.File> systemPaths)
          Get the user and system include paths referenced by MMPs in the given project and configuration.
static java.util.List<IPath> getProjectRoots(IPath bldInfFilePath, java.util.List<ISymbianBuildContext> contexts, IProgressMonitor monitor)
          Returns two paths in a list - the first is the suggested root directory for the project.
static java.util.Set<java.lang.String> getSDKLibrariesForBuildContext(ISymbianBuildContext buildContext)
          Return the unique libraries appropriate to the given build configuration, taking into account the SDK, platform and target.
static java.util.List<IPath> getSourceFilesForConfiguration(ICarbideBuildConfiguration buildConfig, IPath inMMPPath)
          Gets the list of source files for one MMP file.
static java.util.List<IPath> getSourceRootsForProject(ICarbideProjectInfo info)
          Gets the list of source roots for a project.
static IPath getTargetPathForExecutable(ICarbideBuildConfiguration buildConfig, IPath workspaceRelativeMMPPath)
          Find the full target file system path to the executable built by the mmp for the given build configuration.
static IPath getTargetPathForMainExecutable(ICarbideProjectInfo info)
          Deprecated. In 1.3, there is no longer a debug mmp, hence no "main" executable. When launching, if there is more than one mmp, the user will be asked which executable to target. Use getTargetPathForExecutable(ICarbideBuildConfiguration, IPath) instead. This method will only work now if there is one and only one mmp. Otherwise it will return an empty string.
static java.util.List<java.lang.String> getTargetTypesForBuildConfiguration(ICarbideBuildConfiguration buildConfig)
          Gets a list of upper case target type strings for the given build configuration.
static java.lang.String getUID2(ICarbideBuildConfiguration buildConfiguration, IPath projectRelativeMMPPath)
          Returns the UID2 string value for the given mmp file and build config context.
static IPath getVariantMMPTarget(ICarbideBuildConfiguration buildConfiguration, IPath projectRelativeMMPPath)
          If the given MMP builds variant executables, return its current target.
static IPath[] getVariantMMPTargets(ICarbideProjectInfo projectInfo, IPath projectRelativeMMPPath)
          If the given MMP builds variant executables, return all the variant targets it builds.
static boolean isVariantBldInf(IPath bldInfFullPath)
          Tell if the given bld.inf builds against variant platforms.
static boolean isVariantMMP(ICarbideProjectInfo projectInfo, IPath projectRelativeMMPPath)
          Tell if given MMP builds variant executables under any configuration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EpocEngineHelper

public EpocEngineHelper()
Method Detail

getMakMakeFiles

public static void getMakMakeFiles(IPath bldInfFilePath,
                                   java.util.List<ISymbianBuildContext> buildConfigs,
                                   java.util.List<IPath> normalMakMakePaths,
                                   java.util.List<IPath> testMakMakePaths,
                                   IProgressMonitor monitor)
Return list of filesystem paths to all MMPs and makefiles referenced by the given bld.inf full path. This function differentiates between PRJ_TESTMMPFILES and PRJ_MMPFILES. Note that this does not include PRJ_EXTENSIONS or PRJ_TESTEXTENSIONS as they are a special case. See getExtensions(IPath, List, List, List, IProgressMonitor).

Parameters:
bldInfFilePath - - The IPath to the bld.inf file that is to be preprocessed.
buildConfigs - - List of build configuration to parse for.
normalMakMakePaths - - The list of PRJ_MMPFILES IPath objects for the bld.inf
testMakMakePaths - - The list of PRJ_TESTMMPFILES IPath objects for the bld.inf. Those with the "ignore" attribute are not returned.
monitor -

getExtensions

public static void getExtensions(IPath bldInfFilePath,
                                 java.util.List<ISymbianBuildContext> buildConfigs,
                                 java.util.List<IPath> normalExtensionPaths,
                                 java.util.List<IPath> testExtensionPaths,
                                 IProgressMonitor monitor)
Return list of file system paths to all project extensions referenced by the given bld.inf full path. This function differentiates between PRJ_EXTENSIONS and PRJ_TESTEXTENSIONS

Parameters:
bldInfFilePath - - The IPath to the bld.inf file that is to be preprocessed.
buildConfigs - - List of build configuration to parse for.
normalExtensionPaths - - The list of PRJ_EXTENSIONS IPath objects for the bld.inf
testExtensionPaths - - The list of PRJ_TESTEXTENSIONS IPath objects for the bld.inf
monitor -

getProjectRoots

public static java.util.List<IPath> getProjectRoots(IPath bldInfFilePath,
                                                    java.util.List<ISymbianBuildContext> contexts,
                                                    IProgressMonitor monitor)
Returns two paths in a list - the first is the suggested root directory for the project. This is calculated by taking the shortest common path containing the bld.inf, mmp and make files, exports, source, resource, and include paths.

The second path is the "minimum" root directory for the project. This is the shortest common source path containing the bld.inf, mmp and make files.

The third path is the "desired" root directory for the project. This is the shortest common source path containing the bld.inf, mmp and make files, and the sources and resources. (added as of 1.3)

Parameters:
bldInfFilePath - full path to bld.inf
contexts - the list of selected SDKs
monitor - the progress monitor for this operation
Returns:
list of exactly 3 IPaths

getAllMakMakeFiles

public static void getAllMakMakeFiles(IProject project,
                                      java.util.List<IPath> makMakeRefs,
                                      java.util.List<IPath> testMakMakeReferences)
Get full filesystem paths to all MMPs and makefiles (including test targets) accessible from the given project's bld.inf. Note that this does not include PRJ_EXTENSIONS or PRJ_TESTEXTENSIONS as they are a special case. See getExtensions(IPath, List, List, List, IProgressMonitor).

Parameters:
project - - The IProject for the project in question
makMakeRefs - - The list of IPath entries for all the mmp and makefiles (PRJ_MMPFILES contents). List will be added to.
testMakMakeReferences - - The list of IPath entries for all the test mmp and makefiles(PRJ_TESTMMPFILES contents). List will be added to.

getPathToMainExecutable

public static java.lang.String getPathToMainExecutable(ICarbideBuildConfiguration buildConfig)
Deprecated. In 1.3, there is no longer a debug mmp, hence no "main" executable. When launching, if there is more than one mmp, the user will be asked which executable to target. Use getHostPathForExecutable(ICarbideBuildConfiguration, IPath) instead. This method will only work now if there is one and only one mmp. Otherwise it will return an empty string.

Find the full file system path to the main executable.

Returns:
full path or blank for error

getPathToMainExecutable

public static java.lang.String getPathToMainExecutable(ICarbideProjectInfo info)
Deprecated. In 1.3, there is no longer a debug mmp, hence no "main" executable. When launching, if there is more than one mmp, the user will be asked which executable to target. Use getHostPathForExecutable(ICarbideBuildConfiguration, IPath) instead. This method will only work now if there is one and only one mmp. Otherwise it will return an empty string.

Find the full file system path to the main executable.

Returns:
full path or blank for error

getTargetPathForMainExecutable

public static IPath getTargetPathForMainExecutable(ICarbideProjectInfo info)
Deprecated. In 1.3, there is no longer a debug mmp, hence no "main" executable. When launching, if there is more than one mmp, the user will be asked which executable to target. Use getTargetPathForExecutable(ICarbideBuildConfiguration, IPath) instead. This method will only work now if there is one and only one mmp. Otherwise it will return an empty string.

Find the full file system path to the main executable.

Returns:
full path or null for error

getHostPathForExecutable

public static IPath getHostPathForExecutable(ICarbideBuildConfiguration buildConfig,
                                             IPath workspaceRelativeMMPPath)
Find the full host file system path to the executable built by the given mmp for the given build configuration.

Parameters:
buildConfig -
workspaceRelativeMMPPath -
Returns:
full path or null if the path cannot be determined.

getTargetPathForExecutable

public static IPath getTargetPathForExecutable(ICarbideBuildConfiguration buildConfig,
                                               IPath workspaceRelativeMMPPath)
Find the full target file system path to the executable built by the mmp for the given build configuration.

Parameters:
buildConfig -
workspaceRelativeMMPPath -
Returns:
full path or null if the path cannot be determined.

getHostAndTargetResources

public static java.util.HashMap<java.lang.String,java.lang.String> getHostAndTargetResources(ICarbideProjectInfo info)
Deprecated. In 1.3, there is no longer a debug mmp, hence no "main" executable. When launching, if there is more than one mmp, the user will be asked which executable to target. Use getHostAndTargetResources(ICarbideBuildConfiguration, IPath) instead. This method will only work now if there is one and only one mmp. Otherwise it will return an empty map.

Get a map of the generated resources for the project.

Parameters:
info - project info
Returns:
map of local full paths to target full paths

getHostAndTargetResources

public static java.util.HashMap<java.lang.String,java.lang.String> getHostAndTargetResources(ICarbideBuildConfiguration buildConfig,
                                                                                             IPath workspaceRelativeMMPPath)
Get a map of the generated resources for the project.

Parameters:
buildConfig - the build configuration
workspaceRelativeMMPPath - the workspace relative path to the mmp file to get the resources for
Returns:
map of local full paths to target full paths

getHostAndTargetImages

public static java.util.HashMap<java.lang.String,java.lang.String> getHostAndTargetImages(ICarbideBuildConfiguration buildConfig)
Get a map of the generated images from image makefiles for the project.

Parameters:
buildConfig - the build configuration
Returns:
map of local full paths to target full paths

getProjectIncludePaths

public static void getProjectIncludePaths(ICarbideProjectInfo projectInfo,
                                          ICarbideBuildConfiguration buildConfiguration,
                                          java.util.List<java.io.File> userPaths,
                                          java.util.List<java.io.File> systemPaths)
Get the user and system include paths referenced by MMPs in the given project and configuration. The configuration may be null to get all the paths for all configurations.

Parameters:
projectInfo - the project info
buildConfiguration - the build configuration to check, or null for all
userPaths - list to which paths are added
systemPaths - list to which paths are added

getSourceFilesForConfiguration

public static java.util.List<IPath> getSourceFilesForConfiguration(ICarbideBuildConfiguration buildConfig,
                                                                   IPath inMMPPath)
Gets the list of source files for one MMP file.

Parameters:
info - the project info of the project to get the source roots for
mmpFile - - The full path to the MMP file whose SOURCE files are to be retrieved
Returns:
list of workspace relative source files

getSourceRootsForProject

public static java.util.List<IPath> getSourceRootsForProject(ICarbideProjectInfo info)
Gets the list of source roots for a project. This is any folder that is a direct child of the project that contains (directly or indirectly) any source, resource, or header file.

Parameters:
info - the project info of the project to get the source roots for
Returns:
list of workspace relative source root paths

getMMPFilesForProject

public static java.util.List<IPath> getMMPFilesForProject(ICarbideProjectInfo projectInfo)
Get the list of all mmp file paths for any and all build configurations of a project.

Parameters:
projectInfo -
Returns:
list of full filesystem mmp paths, may be empty

getMMPFilesForBuildConfiguration

public static java.util.List<IPath> getMMPFilesForBuildConfiguration(ICarbideBuildConfiguration buildConfig)
Get the list of all mmp file paths that are applicable to the given build configuration.

Parameters:
buildConfig -
Returns:
list of workspace relative mmp paths, may be empty

getMMPMacrosForBuildConfiguration

public static java.util.List<java.lang.String> getMMPMacrosForBuildConfiguration(IPath workspaceRelativeMMPPath,
                                                                                 ICarbideBuildConfiguration buildConfig)
Get the list of all macros defined in the specified mmp file supported by specified build configuration. These are found in MACRO statements in the mmp files.

Parameters:
mmpPath - The workspace relative path of the mmp file to get the macros for.
buildConfig - The build config context.
Returns:
List of macro strings which may be empty. There is no macro value, only a string like "FOO".

getMMPIncludePaths

public static void getMMPIncludePaths(IProject project,
                                      IPath mmp,
                                      ICarbideBuildConfiguration buildConfiguration,
                                      java.util.List<java.io.File> userPaths,
                                      java.util.List<java.io.File> systemPaths)
Get the resolved user and system include paths from the given MMP and build context.

Parameters:
project - the project, must not be null
mmp - the project-relative MMP path, may not be null
buildContext - the build context, may not be null
userPaths - list of user paths to append to, may not be null
systemPaths - list of system paths to append to, may not be null

getLibDirectoriesForBuildContext

public static IPath[] getLibDirectoriesForBuildContext(ISymbianBuildContext buildContext)
Return the set of directories containing SDK libraries for a build context, taking into account the SDK, platform and target.


getSDKLibrariesForBuildContext

public static java.util.Set<java.lang.String> getSDKLibrariesForBuildContext(ISymbianBuildContext buildContext)
Return the unique libraries appropriate to the given build configuration, taking into account the SDK, platform and target.


getMMPsForSource

public static java.util.List<IPath> getMMPsForSource(IProject project,
                                                     IPath sourcePath)
Get the MMP file that is the parent to a given source file for a given project. A source file is defined to be any of the MMP keywords: SOURCE, RESOURCE, SYSTEMRESOURCE, START RESOURCE,

Parameters:
project - - The IProject with the sourcePath belongs
sourcePath - - The absolute file system path of the source file that is part of the IProject
Returns:
A list of project relative IPath entries of found MMP files that contain 'sourcePath' (may be empty).

getPathToAllExecutables

public static void getPathToAllExecutables(ICarbideProjectInfo info,
                                           java.util.List<IPath> allExePaths,
                                           java.util.List<IPath> currBuiltExePaths)
Returns host paths to all the executables built by the project for the default build configuration.

Parameters:
info - project info
allExePaths - all the executable paths from all the mmps in the inf file for the default build configuration
currBuiltExePaths - all the executables that are actually being built for the default build configuration

getPathToAllExecutables

public static void getPathToAllExecutables(ICarbideBuildConfiguration buildConfig,
                                           java.util.List<IPath> allExePaths,
                                           java.util.List<IPath> currBuiltExePaths,
                                           java.util.List<IPath> allMMPPaths,
                                           java.util.List<IPath> currBuiltMMPPaths)
Returns host paths to all the executables built by the project for the given build configuration. Also returns the mmp paths as well.

Parameters:
buildConfig - - current build configuration
allExePaths - - all the executable paths from all the mmp's that could be built for the given build configuration
currBuiltExePaths - - all the executable paths that are built for the given build configuration
allMMPPaths - - all the mmp paths from all the mmp's that could be built for the given build configuration
currBuiltMMPPaths - - all the mmp paths that are built for the given build configuration

getTargetTypesForBuildConfiguration

public static java.util.List<java.lang.String> getTargetTypesForBuildConfiguration(ICarbideBuildConfiguration buildConfig)
Gets a list of upper case target type strings for the given build configuration. There will be no duplicates in the list, and the list may be empty.

Parameters:
buildConfig - the build configuration to use as a filter when parsing the bld.inf/mmp files
Returns:
list of target type strings

isVariantBldInf

public static boolean isVariantBldInf(IPath bldInfFullPath)
Tell if the given bld.inf builds against variant platforms.

Returns:
true if the bld.inf exists and VARIANT platform is specified, else false

isVariantMMP

public static boolean isVariantMMP(ICarbideProjectInfo projectInfo,
                                   IPath projectRelativeMMPPath)
Tell if given MMP builds variant executables under any configuration.

Note: the variant is only built if the bld.inf is variant as well. That is not checked here.

Parameters:
projectInfo - the project to check
projectRelativeMMPPath - the MMP location in the project
Returns:
true if the MMP exists and the VAR keyword is used, else false
See Also:
isVariantBldInf(IPath)

getVariantMMPTarget

public static IPath getVariantMMPTarget(ICarbideBuildConfiguration buildConfiguration,
                                        IPath projectRelativeMMPPath)
If the given MMP builds variant executables, return its current target. Returns the normal target if not variant.

Note: the variant is only built if the bld.inf is variant as well. That is not checked here.

Parameters:
buildConfiguration - the build configuration under which to parse the MMP
projectRelativeMMPPath - the MMP location in the project
Returns:
the epocroot-relative target path. Only null if no target defined in MMP at all.
See Also:
isVariantBldInf(IPath)

getVariantMMPTargets

public static IPath[] getVariantMMPTargets(ICarbideProjectInfo projectInfo,
                                           IPath projectRelativeMMPPath)
If the given MMP builds variant executables, return all the variant targets it builds.

Note: the variant is only built if the bld.inf is variant as well. That is not checked here.

Parameters:
buildConfiguration - the build configuration under which to parse the MMP
projectRelativeMMPPath - the MMP location in the project
Returns:
the array of unique variant targets
See Also:
isVariantBldInf(IPath)

addIncludedFilesFromMMP

public static void addIncludedFilesFromMMP(ICarbideProjectInfo projectInfo,
                                           ICarbideBuildConfiguration buildConfig,
                                           IPath mmpPath,
                                           java.util.Collection<IPath> pathList)
Get all the #include files, plus self, referenced by a given MMP file in either a specific build configuration or all build configurations.

Parameters:
projectInfo - info for the project being considered
buildConfig - build configuration, or null for all configurations
mmpPath - the full filesystem path to the MMP
pathList - collection of full filesystem paths, updated with results

addIncludedFilesFromMMP

public static void addIncludedFilesFromMMP(IPath projectPath,
                                           IPath mmpPath,
                                           java.util.Collection<IPath> pathList)
Get all the #include files, plus self, referenced by a given MMP file in any configuration.

Parameters:
projectPath - full path of the project
mmpPath - the full filesystem path to the MMP
pathList - collection of full filesystem paths, updated with results

addIncludedFilesFromBldInf

public static void addIncludedFilesFromBldInf(ICarbideProjectInfo projectInfo,
                                              ICarbideBuildConfiguration buildConfig,
                                              IPath bldinfPath,
                                              java.util.Collection<IPath> pathList)
Get all the #include files, plus self, referenced by a given bld.inf file in either a specific build configuration or all build configurations.

Parameters:
projectInfo - info for the project being considered
buildConfig - the build configuration, or null for all configurations
bldinfPath - the full filesystem path to the bld.inf
pathList - collection of full filesystem paths, updated with results

addIncludedFilesFromBldInf

public static void addIncludedFilesFromBldInf(IPath projectPath,
                                              IPath bldinfPath,
                                              java.util.Collection<IPath> pathList)
Get all the #include files, plus self, referenced by a given bld.inf file in any configuration.

Parameters:
projectPath - the full filesystem path to the project
bldinfPath - the full filesystem path to the bld.inf
pathList - collection of full filesystem paths, updated with results

getFilesInPKG

public static java.util.List<IPath> getFilesInPKG(IPath pkgPath,
                                                  ICarbideBuildConfiguration buildConfig,
                                                  ISISBuilderInfo sisInfo)
Returns a list of absolute host paths for any files in the given pkg file.

Parameters:
pkgPath - absolute path to the pkg file
buildConfig - build configuration context
sisInfo - optional sisFinfo. content search location is used from this to find relative paths and filenames. when null, the first sis info for the build configuration that matches the pkg file will be used.
Returns:
list of absolute paths to files used in pkg

getUID2

public static java.lang.String getUID2(ICarbideBuildConfiguration buildConfiguration,
                                       IPath projectRelativeMMPPath)
Returns the UID2 string value for the given mmp file and build config context.

Parameters:
buildConfiguration - the build configuration under which to parse the MMP
projectRelativeMMPPath - the MMP location in the project
Returns:
the UID2 string, or null if none.

getEpocRootForProject

public static IPath getEpocRootForProject(IProject project)
Returns the absolute file system path to the EPOCROOT directory of the SDK for the active build configuration of the project

Parameters:
project - the project
Returns:
the absolute path to EPOCROOT, or null if the project is not a Carbide project, is closed, or there are no build configurations in the project.
Since:
2.0

addIncludePathToProject

public static void addIncludePathToProject(IProject project,
                                           IPath projectRelativeIncDirPath)
Adds the given include path as a user include path to all mmps in the project for all build configurations

Parameters:
project - the project
projectRelativeIncDirPath - project relative path to the include directory
Since:
2.0

getComponentsBuiltByConifguration

public static java.util.List<IPath> getComponentsBuiltByConifguration(ICarbideBuildConfiguration buildConfig)
Gets the list of mmp and makefiles being built by the given build configuration. Note that this takes builder settings into account.

Parameters:
buildConfig - the build configuration
Returns:
the list of workspace relative compoment paths, may be empty
Since:
2.0

Carbide.c++