|
Carbide.c++ | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectIncrementalProjectBuilder
com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder
public class CarbideCPPBuilder
Main interface for invoking different build stages.
Field Summary | |
---|---|
static int |
BUILD_COMPONENT_ACTION
|
static java.lang.String |
BUILDER_ID
|
static int |
CLEAN_COMPONENT_ACTION
|
static int |
FREEZE_COMPONENT_ACTION
|
static java.lang.String |
RESOLVED_PKG_PREFIX
|
Constructor Summary | |
---|---|
CarbideCPPBuilder()
|
Method Summary | |
---|---|
protected IProject[] |
build(int kind,
java.util.Map args,
IProgressMonitor monitor)
|
protected static boolean |
buildAllComponents(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
IProgressMonitor monitor)
|
protected static boolean |
buildComponentSubset(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
IProgressMonitor monitor)
|
protected static void |
calculateComponentLists(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher)
|
static void |
callAbldBuildForConfiguration(ICarbideBuildConfiguration config,
IProgressMonitor monitor,
IConsole console,
int buildKind,
boolean clearMarkers)
Deprecated. use #invokeBuild(ICarbideBuildConfiguration, IConsole, IProgressMonitor) instead |
protected void |
clean(IProgressMonitor monitor)
|
protected static void |
cleanAllComponents(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
IProgressMonitor monitor)
|
protected static void |
cleanComponentSubset(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
IProgressMonitor monitor)
|
static void |
compileFile(IPath file,
ICarbideBuildConfiguration buildConfig,
IConsole console,
CarbideCommandLauncher launcher,
IProgressMonitor monitor,
boolean clearMarkers)
Invokes a compile of the the given file for the given build configuration. |
protected static void |
freezeAllComponents(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
IProgressMonitor monitor)
|
protected static void |
freezeComponentSubset(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
IProgressMonitor monitor)
|
protected static boolean |
generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config,
CarbideCommandLauncher launcher,
IPath componentPath,
boolean isTest)
Generates the abld makefile if necessary. |
static boolean |
generateAbldMakefilesIfNecessary(ICarbideBuildConfiguration config,
CarbideCommandLauncher launcher)
Generates the abld makefiles if necessary. |
static boolean |
generateAbldMakefilesIfNecessary(ICarbideBuildConfiguration config,
CarbideCommandLauncher launcher,
boolean calculateComponentLists)
Generates the abld makefiles if necessary. |
static boolean |
generateBldmakeMakefilesIfNecessary(ICarbideBuildConfiguration config,
CarbideCommandLauncher launcher)
Generates the bldmake makefiles if necessary. |
protected static java.util.List<IPath> |
getMakeRulesForResource(ICarbideBuildConfiguration buildConfig,
IPath workspaceRelativeMMPPath,
IPath projectRelativeResourcePath)
|
static java.lang.String[] |
getModifiedEnvVars(ICarbideBuildConfiguration config)
Get the array of environment variables that are modified from their default values. |
static java.lang.String[] |
getParserIdArray(int id)
Get the array of parser ID's (extension ID from plugin.xml) that will be used to parse the output of a given process invoked by the CarbideCommandLauncher. |
static IPath |
getPartialUpgradeSisPath(ICarbideBuildConfiguration config,
IPath sisPath)
Given a sis/sisx path, returns the absolute file system path of the associated partial upgrade sis/sisx file if any, otherwise null. |
static java.lang.String[] |
getRawEnvVars()
Get the environement variables exactly as they come from the system. |
static java.lang.String[] |
getResolvedEnvVars(ICarbideBuildConfiguration config)
Get the array of resolved environment variables. |
static boolean |
invokeAbldCommand(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
java.lang.String[] abldArgs,
boolean removeMarkers)
Call abld with the given arguments |
static boolean |
invokeBldmakeBldFiles(ICarbideBuildConfiguration config,
CarbideCommandLauncher cmdLauncher,
IProgressMonitor monitor,
IConsole console,
java.lang.String[] env,
IPath workingDir)
Deprecated. use #generateBldmakeMakefilesIfNecessary(ICarbideBuildConfiguration, CarbideCommandLauncher, IConsole, IProgressMonitor, boolean) instead |
static boolean |
invokeBldmakeCommand(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
java.lang.String[] bldmakeArgs,
boolean removeMarkers)
Call bldmake with the given arguments |
static void |
invokeBuild(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher,
IProgressMonitor monitor,
boolean clearMarkers)
Invokes a build for the given build configuration. |
static void |
invokeClean(ICarbideBuildConfiguration buildConfig,
IProgressMonitor monitor,
boolean clearMarkers)
Invokes a clean for the given build configuration. |
static void |
invokeFreeze(ICarbideBuildConfiguration buildConfig,
IProgressMonitor monitor,
boolean clearMarkers)
Invokes a freeze for the given build configuration. |
static void |
invokeROMBuilder(ICarbideBuildConfiguration config,
CarbideCommandLauncher cmdLauncher,
IProgressMonitor monitor)
Invoke the ROM builder for the given build configuration |
static void |
invokeSISBuilder(ICarbideBuildConfiguration config,
CarbideCommandLauncher cmdLauncher,
IProgressMonitor monitor)
Invoke the SIS builder for all pkg files for the given build configuration |
static void |
invokeSISBuilder(IPath pkgPath,
ICarbideBuildConfiguration config,
CarbideCommandLauncher cmdLauncher,
IProgressMonitor monitor,
boolean createOutputFromPKGFileName)
Invoke the SIS builder for either EKA1 or EKA2 projects. |
static boolean |
invokeSymbianComponenetAction(ICarbideBuildConfiguration buildConfig,
int action,
IPath componentPath,
CarbideCommandLauncher launcher,
IProgressMonitor monitor,
boolean clearMarkers)
Invoke the given action on the given Symbian mmp/make file for the given build configuration. |
protected static boolean |
needsBldmakeMakefileGeneration(ICarbideBuildConfiguration config)
Check to see if abld.bat and the bldmake makefiles exists, or if they are stale. |
static boolean |
projectHasBuildErrors(IProject project)
Checks the Problems view for any error markers. |
static boolean |
projectNeedsMakefileGeneration(IPath bldInfDir,
ICarbideBuildConfiguration defaultConfig)
Deprecated. use needsBldmakeMakefileGeneration(ICarbideBuildConfiguration) |
static void |
removeAllMarkers(IProject currProject)
Remove all the C/C++ markers for the current project. |
static IPath |
resolvePKGFile(IPath pkgFile,
ISymbianBuildContext context,
IPath tempPKGFileName)
Given PKG file to be built, check to see if it has supported macros and if so replace them so the PKG file will contain current build context values. |
protected static void |
runPreBuildChecks(ICarbideBuildConfiguration buildConfig,
CarbideCommandLauncher launcher)
|
protected boolean |
shouldRebuild(IResourceDelta delta)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String BUILDER_ID
public static final int BUILD_COMPONENT_ACTION
public static final int CLEAN_COMPONENT_ACTION
public static final int FREEZE_COMPONENT_ACTION
public static final java.lang.String RESOLVED_PKG_PREFIX
Constructor Detail |
---|
public CarbideCPPBuilder()
Method Detail |
---|
protected IProject[] build(int kind, java.util.Map args, IProgressMonitor monitor) throws CoreException
CoreException
protected boolean shouldRebuild(IResourceDelta delta)
protected void clean(IProgressMonitor monitor) throws CoreException
CoreException
public static void invokeBuild(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, IProgressMonitor monitor, boolean clearMarkers)
buildConfig
- the build configuration to buildlauncher
- the Carbide launchermonitor
- the progress monitor to use to report progressclearMarkers
- true if project markers should be cleared before action is takenpublic static void invokeClean(ICarbideBuildConfiguration buildConfig, IProgressMonitor monitor, boolean clearMarkers)
buildConfig
- the build configuration to cleanmonitor
- the progress monitor to use to report progressclearMarkers
- true if project markers should be cleared before action is takenpublic static void invokeFreeze(ICarbideBuildConfiguration buildConfig, IProgressMonitor monitor, boolean clearMarkers)
buildConfig
- the build configuration to freezemonitor
- the progress monitor to use to report progressclearMarkers
- true if project markers should be cleared before action is takenpublic static boolean invokeSymbianComponenetAction(ICarbideBuildConfiguration buildConfig, int action, IPath componentPath, CarbideCommandLauncher launcher, IProgressMonitor monitor, boolean clearMarkers) throws CoreException
buildConfig
- the build configuration to act uponaction
- the action to perform, see BUILD_COMPONENT_ACTION
, CLEAN_COMPONENT_ACTION
, FREEZE_COMPONENT_ACTION
componentPath
- the full path of the mmp or make filelauncher
- - The object to use for the process executionmonitor
- the progress monitor to report progress toclearMarkers
- true if project markers should be cleared before action is taken
CoreException
public static void compileFile(IPath file, ICarbideBuildConfiguration buildConfig, IConsole console, CarbideCommandLauncher launcher, IProgressMonitor monitor, boolean clearMarkers) throws CoreException
file
- the absolute file system path to the file to be compiled (source, resource)buildConfig
- the build configuration to buildconsole
- the console to pipe build output tolauncher
- - The object to use for the process executionmonitor
- the progress monitor to use to report progressclearMarkers
- whether or not to clear project markers before compiling
CoreException
protected static java.util.List<IPath> getMakeRulesForResource(ICarbideBuildConfiguration buildConfig, IPath workspaceRelativeMMPPath, IPath projectRelativeResourcePath)
protected static void runPreBuildChecks(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher)
protected static void calculateComponentLists(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher)
protected static boolean buildAllComponents(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, IProgressMonitor monitor)
protected static boolean buildComponentSubset(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, IProgressMonitor monitor)
protected static void cleanAllComponents(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, IProgressMonitor monitor)
protected static void cleanComponentSubset(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, IProgressMonitor monitor)
protected static void freezeAllComponents(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, IProgressMonitor monitor)
protected static void freezeComponentSubset(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, IProgressMonitor monitor)
public static boolean invokeBldmakeCommand(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, java.lang.String[] bldmakeArgs, boolean removeMarkers)
buildConfig
- the build configuration contextlauncher
- the command launcherbldmakeArgs
- array of String arguments to be passed to bldmakeremoveMarkers
- project markers will be removed when true
public static boolean invokeAbldCommand(ICarbideBuildConfiguration buildConfig, CarbideCommandLauncher launcher, java.lang.String[] abldArgs, boolean removeMarkers)
buildConfig
- the build configuration contextlauncher
- the command launcherabldArgs
- array of String arguments to be passed to abldremoveMarkers
- project markers will be removed when true
public static java.lang.String[] getResolvedEnvVars(ICarbideBuildConfiguration config)
config
- - The config whose environment variables you want.
public static java.lang.String[] getModifiedEnvVars(ICarbideBuildConfiguration config)
config
- - Config you are building for.
public static java.lang.String[] getRawEnvVars()
public static boolean generateBldmakeMakefilesIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher)
config
- the build configuration contextlauncher
- the Carbide launcher
protected static boolean needsBldmakeMakefileGeneration(ICarbideBuildConfiguration config)
config
- - The build configuration to check the makefiles for
public static boolean generateAbldMakefilesIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher)
config
- the build configuration contextlauncher
- the Carbide launcher
public static boolean generateAbldMakefilesIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, boolean calculateComponentLists)
config
- the build configuration contextlauncher
- the Carbide launchercalculateComponentLists
- whether or not to calculate the list of makmake components
protected static boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest)
config
- the build configuration contextlauncher
- the Carbide launchercomponentPath
- the absolute file system path of the componentisTest
- true for test components, false otherwise
public static java.lang.String[] getParserIdArray(int id)
id
- - The id to use to get the parsers.
CarbideCommandLauncher, ICarbideBuildConfiguration.ERROR_PARSERS*
public static void removeAllMarkers(IProject currProject) throws CoreException
currProject
- - Project to remove markers for.
CoreException
public static void invokeSISBuilder(ICarbideBuildConfiguration config, CarbideCommandLauncher cmdLauncher, IProgressMonitor monitor)
config
- - The current configuration from where to get the settings fromcmdLauncher
- - The object to use for the process executionmonitor
- - An IProgressMonitorpublic static void invokeSISBuilder(IPath pkgPath, ICarbideBuildConfiguration config, CarbideCommandLauncher cmdLauncher, IProgressMonitor monitor, boolean createOutputFromPKGFileName)
pkgPath
- - Full path to the PKG file to be used to generate the SIS fileconfig
- - The current configuration from where to get the settings forcmdLauncher
- - The object to use for the process executionmonitor
- - An IProgressMonitorcreateOutputFromPKGFileName
- - When true, only create output file name based on PKG file name, otherwise check the SIS build settings.public static IPath resolvePKGFile(IPath pkgFile, ISymbianBuildContext context, IPath tempPKGFileName)
pkgFile
- - The PKG file inputcontext
- - The sdk/plat/target currently building fortempPKGFileName
- - The name of the PKG file to generate. If null or empty string one will be generated for you
public static IPath getPartialUpgradeSisPath(ICarbideBuildConfiguration config, IPath sisPath)
config
- the build configurationsisPath
- the absolute file system path to the normal sis/sisx file
public static void invokeROMBuilder(ICarbideBuildConfiguration config, CarbideCommandLauncher cmdLauncher, IProgressMonitor monitor)
config
- - The current configuration from where to get the settings fromcmdLauncher
- - The object to use for the process executionmonitor
- - An IProgressMonitorpublic static void callAbldBuildForConfiguration(ICarbideBuildConfiguration config, IProgressMonitor monitor, IConsole console, int buildKind, boolean clearMarkers)
#invokeBuild(ICarbideBuildConfiguration, IConsole, IProgressMonitor)
instead
config
- - The Carbide configuration to buildmonitor
- - A progress monitor so user can cancel build (can be null)console
- - Where to pipe the output. If null, a new CConole will be created and existing console cleared.buildKind
- - FULL_BUILD, else incremental build assumed.public static boolean invokeBldmakeBldFiles(ICarbideBuildConfiguration config, CarbideCommandLauncher cmdLauncher, IProgressMonitor monitor, IConsole console, java.lang.String[] env, IPath workingDir)
#generateBldmakeMakefilesIfNecessary(ICarbideBuildConfiguration, CarbideCommandLauncher, IConsole, IProgressMonitor, boolean)
instead
config
- - Config to generate makefiles for.cmdLauncher
- - The process launchermonitor
- - The progress monitorconsole
- - The console to write the messages to.env
- - The array of environment variables to be used for the processworkingDir
- - The full path to the bld.inf file to be used as the current working directorypublic static boolean projectNeedsMakefileGeneration(IPath bldInfDir, ICarbideBuildConfiguration defaultConfig)
needsBldmakeMakefileGeneration(ICarbideBuildConfiguration)
bldInfDir
- - The working dir of the bld.inf file (should not contain 'bld.inf')defaultConfig
- - The ISymbianBuildConfiguration to be built.
public static boolean projectHasBuildErrors(IProject project)
project
- - IProject to check for problem markers
|
Carbide.c++ | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |