Carbide.c++

com.nokia.carbide.cdt.builder.project
Interface ICarbideProjectInfo

All Known Subinterfaces:
ICarbideProjectModifier

public interface ICarbideProjectInfo

This interface represents the base project info for a single Carbide.c++ project. A Carbide.c++ project is made up of global data store in a .cproject file as well as configuration data stored in the \.settings\.carbide_build_settings file.

See Also:
CarbideBuildManager.getProjectInfo(IProject)

Field Summary
static int ACTION_COMPILE_AND_LINK
           
static int ACTION_LINK_ONLY
           
static int ACTION_NONE
           
static java.lang.String BINARY_PARSER_EXT_POINT_ID
           
static java.lang.String BLD_FROM_INF_PROPS_KEY
           
static int CLEAN_LEVEL_1
           
static int CLEAN_LEVEL_2
           
static int CLEAN_LEVEL_3
           
static java.lang.String INF_COMPONENTS_PROPS_KEY
           
static java.lang.String PROJECT_RELATIVE_INFFILE_PROPS_KEY
           
static java.lang.String[] REQUIRED_BINARY_PARSER_IDS
           
static java.lang.String TEST_COMPONENT_LABEL
           
 
Method Summary
 boolean areMakefilesManaged()
          Get the project setting that determines whether or not Carbide manages the generated makefiles or leaves it all up to the Symbian command line build system.
 int concurrentBuildJobs()
          Get the project setting for the maximum number or parallel make jobs
 int defaultMMPChangedAction()
          Returns int value for the mmp action type for the project
 IPath getAbsoluteBldInfPath()
          Return the full path to the bld.inf file for the project
 java.util.List<ICarbideBuildConfiguration> getBuildConfigurations()
          Load all the configurations associated with this project.
 int getCleanLevel()
          Returns int value for the clean level for the project
 java.lang.String getDefaultBuildConfigName()
          Get the configuration/display name for the currently selected build configuration
 ICarbideBuildConfiguration getDefaultConfiguration()
          Get the default configuration for the current project.
 java.util.List<java.lang.String> getInfBuildComponents()
          Get a list of all the names of the bld.inf components to be built.
 java.util.List<java.lang.String> getInfBuildComponentsRawSettings()
          Get a list of the names of the bld.inf components as they come from the settings.
 IPath getINFWorkingDirectory()
          Get the working directory of the bld.inf file for the default configuration.
 java.lang.String getMMPTargetFile()
          Deprecated. no longer used in 1.3. now returns an empty string.
 ICarbideBuildConfiguration getNamedConfiguration(java.lang.String configName)
          Get an ICarbideBuildConfiguration object from a display name
 java.util.List<java.lang.String> getNormalInfBuildComponents()
          Get the list of PRJ_MMPFILES that are currently being built for the project.
 IProject getProject()
          Get the IProject for the Carbide.c++ project
 IPath getProjectRelativeBldInfPath()
          Get a path to the bld.inf file that is relative to the project root.
 java.util.List<java.lang.String> getTestInfBuildComponents()
          Get the list of PRJ_TESTMMPFILES that are currently being built for the project.
 IPath getWorkspaceRelativeBldInfPath()
          Get a path to the bld.inf file that is relative to the workspace root
 boolean incrementalBuilderEnabled()
          Get the project setting that determines whether or not the Eclipse incremental builder is to be used.
 boolean isBuildingFromInf()
          Check whether or not all components of the inf are built or subcomponents.
 boolean isBuildingTestComps()
          Get the project setting that determines whether or not test components (PRJ_TESTMMPFILES) should be built when building from bld.inf.
 boolean isConcurrentBuildingEnabled()
          Get the project setting that determines whether or not Carbide takes advantage of the make "-j" option which will runs make jobs in parallel.
 java.lang.String makeEngineToUse()
          Get the project setting that is the name of the make engine to be used by SBSv2.
 boolean promptForMMPChangedAction()
          Get the project setting that determines whether or not Carbide should ask the user what action to take when building and mmp files have changed.
 boolean shouldOverrideMakeEngine()
          Get the project setting that determines whether or not to override the make engine used by SBSv2.
 boolean useDebugMode()
          Get the project setting that determines whether or not SBSv2 should run in debug mode.
 boolean useKeepGoing()
          Get the project setting that determines whether or not SBSv2 should keep going even when some build commands fail.
 

Field Detail

PROJECT_RELATIVE_INFFILE_PROPS_KEY

static final java.lang.String PROJECT_RELATIVE_INFFILE_PROPS_KEY
See Also:
Constant Field Values

BLD_FROM_INF_PROPS_KEY

static final java.lang.String BLD_FROM_INF_PROPS_KEY
See Also:
Constant Field Values

INF_COMPONENTS_PROPS_KEY

static final java.lang.String INF_COMPONENTS_PROPS_KEY
See Also:
Constant Field Values

TEST_COMPONENT_LABEL

static final java.lang.String TEST_COMPONENT_LABEL
See Also:
Constant Field Values

BINARY_PARSER_EXT_POINT_ID

static final java.lang.String BINARY_PARSER_EXT_POINT_ID
See Also:
Constant Field Values

REQUIRED_BINARY_PARSER_IDS

static final java.lang.String[] REQUIRED_BINARY_PARSER_IDS

CLEAN_LEVEL_1

static final int CLEAN_LEVEL_1
See Also:
Constant Field Values

CLEAN_LEVEL_2

static final int CLEAN_LEVEL_2
See Also:
Constant Field Values

CLEAN_LEVEL_3

static final int CLEAN_LEVEL_3
See Also:
Constant Field Values

ACTION_NONE

static final int ACTION_NONE
See Also:
Constant Field Values

ACTION_LINK_ONLY

static final int ACTION_LINK_ONLY
See Also:
Constant Field Values

ACTION_COMPILE_AND_LINK

static final int ACTION_COMPILE_AND_LINK
See Also:
Constant Field Values
Method Detail

getBuildConfigurations

java.util.List<ICarbideBuildConfiguration> getBuildConfigurations()
Load all the configurations associated with this project. If this is a new project then a dummy .settings file will be created which can be used to generate new build configurations.

Returns:
A list of ICarbideBuildConfiguration objects, which may be empty

getNamedConfiguration

ICarbideBuildConfiguration getNamedConfiguration(java.lang.String configName)
Get an ICarbideBuildConfiguration object from a display name

Parameters:
configName - - The display name for the build configuration
Returns:
- An ICarbideBuildConfiguration. Returns null if the configuration does not exist.

getDefaultConfiguration

ICarbideBuildConfiguration getDefaultConfiguration()
Get the default configuration for the current project. The default configuration is the build configuration that gets executed on a project when build gets executed (e.g. Project > Build)

Returns:
A valid ICarbideBuildConfiguration. Returns null if no configurations exist.

getDefaultBuildConfigName

java.lang.String getDefaultBuildConfigName()
Get the configuration/display name for the currently selected build configuration

Returns:
A String of the display name.

isBuildingFromInf

boolean isBuildingFromInf()
Check whether or not all components of the inf are built or subcomponents. Building from inf means that only 'abld build' is invoked rather than invoking 'abld build' on specific MMP and makefiles

Returns:
true when building from bld.inf

getAbsoluteBldInfPath

IPath getAbsoluteBldInfPath()
Return the full path to the bld.inf file for the project

Returns:
IPath with the bld.inf file

getProjectRelativeBldInfPath

IPath getProjectRelativeBldInfPath()
Get a path to the bld.inf file that is relative to the project root.

Returns:
IPath

getWorkspaceRelativeBldInfPath

IPath getWorkspaceRelativeBldInfPath()
Get a path to the bld.inf file that is relative to the workspace root

Returns:
IPath

getMMPTargetFile

java.lang.String getMMPTargetFile()
Deprecated. no longer used in 1.3. now returns an empty string.

Get the name of the MMP file that is used to calculate the target output (final artifact) for setting up launch configurations

Returns:

getProject

IProject getProject()
Get the IProject for the Carbide.c++ project

Returns:
IProject object

getInfBuildComponentsRawSettings

java.util.List<java.lang.String> getInfBuildComponentsRawSettings()
Get a list of the names of the bld.inf components as they come from the settings. Test components (PRJ_TESTMMPFILES) contain a suffix (" [test component]") to identify a particular component as being a test components.

Returns:
A list of strings with the components names as they are from the .cproject file
See Also:
for the names with test suffix cleansed.

getInfBuildComponents

java.util.List<java.lang.String> getInfBuildComponents()
Get a list of all the names of the bld.inf components to be built.

Returns:
A List of compnent names with extension.
See Also:
isBuildingFromInf()

getNormalInfBuildComponents

java.util.List<java.lang.String> getNormalInfBuildComponents()
Get the list of PRJ_MMPFILES that are currently being built for the project. This list will only be populated when ICarbideProjectInfo.isBuildingFromInf() returns true, oherwise it will be an empty list.

Returns:
A list of Strings with the component names as they appear in the bld.inf file
See Also:
com.nokia.carbide.cdt.builder.EpocEngineHelper.getMakMakeFiles(IPath, List, List, List, IProgressMonitor )

getTestInfBuildComponents

java.util.List<java.lang.String> getTestInfBuildComponents()
Get the list of PRJ_TESTMMPFILES that are currently being built for the project. This list will only be populated when ICarbideProjectInfo#isBuildingFromInf() returns true, oherwise it will be an empty list.

Returns:
A list of Strings with the component names as they appear in the bld.inf file
See Also:
com.nokia.carbide.cdt.builder.EpocEngineHelper.getMakMakeFiles(IPath, List, List, List, IProgressMonitor )

getINFWorkingDirectory

IPath getINFWorkingDirectory()
Get the working directory of the bld.inf file for the default configuration. This may change for a project if a bld.inf file is on a different drive than the EPOCROOT of the SDK but only if they only differ in the drive spec. For example, a bld.inf of "m:\myproj\group\bld.inf" and an EPOCROOT of "x:\", the IPath will be returned as "x:\myproj\group\". Otherwise, the original path is returned, "m:\myproj\group\".

Returns:
the absolute path of the bld.inf in the local file system, or null if no path can be determined

getCleanLevel

int getCleanLevel()
Returns int value for the clean level for the project

Returns:
0 for clean, 1 for reallyclean, 2 for reallyclean/bldmake clean Note that the workspace setting is returned unless it is overridden by the project setting
Since:
1.3

isBuildingTestComps

boolean isBuildingTestComps()
Get the project setting that determines whether or not test components (PRJ_TESTMMPFILES) should be built when building from bld.inf.

Returns:
true when enabled. Note that the workspace setting is returned unless it is overridden by the project setting

areMakefilesManaged

boolean areMakefilesManaged()
Get the project setting that determines whether or not Carbide manages the generated makefiles or leaves it all up to the Symbian command line build system.

Returns:
true when enabled Note that the workspace setting is returned unless it is overridden by the project setting
Since:
1.3

isConcurrentBuildingEnabled

boolean isConcurrentBuildingEnabled()
Get the project setting that determines whether or not Carbide takes advantage of the make "-j" option which will runs make jobs in parallel.

Returns:
true when enabled Note that the workspace setting is returned unless it is overridden by the project setting
Since:
1.3

concurrentBuildJobs

int concurrentBuildJobs()
Get the project setting for the maximum number or parallel make jobs

Returns:
the number of jobs Note that the workspace setting is returned unless it is overridden by the project setting
Since:
1.3

promptForMMPChangedAction

boolean promptForMMPChangedAction()
Get the project setting that determines whether or not Carbide should ask the user what action to take when building and mmp files have changed.

Returns:
true when enabled Note that the workspace setting is returned unless it is overridden by the project setting
Since:
1.3

defaultMMPChangedAction

int defaultMMPChangedAction()
Returns int value for the mmp action type for the project

Returns:
0, 1, or 2 Note that the workspace setting is returned unless it is overridden by the project setting
Since:
1.3

incrementalBuilderEnabled

boolean incrementalBuilderEnabled()
Get the project setting that determines whether or not the Eclipse incremental builder is to be used.

Returns:
true when enabled Note that the workspace setting is returned unless it is overridden by the project setting
Since:
1.3

useKeepGoing

boolean useKeepGoing()
Get the project setting that determines whether or not SBSv2 should keep going even when some build commands fail.

Returns:
true when enabled Note that the workspace setting is returned unless it is overridden by the project setting
Since:
2.0

useDebugMode

boolean useDebugMode()
Get the project setting that determines whether or not SBSv2 should run in debug mode.

Returns:
true when enabled Note that the workspace setting is returned unless it is overridden by the project setting
Since:
2.0

shouldOverrideMakeEngine

boolean shouldOverrideMakeEngine()
Get the project setting that determines whether or not to override the make engine used by SBSv2.

Returns:
true when enabled Note that the workspace setting is returned unless it is overridden by the project setting
Since:
2.0

makeEngineToUse

java.lang.String makeEngineToUse()
Get the project setting that is the name of the make engine to be used by SBSv2.

Returns:
name of the make engine to use Note that the workspace setting is returned unless it is overridden by the project setting
Since:
2.0

Carbide.c++