Builds all projects in this workspace. Projects are built in the order specified in this workspace's description. Projects not mentioned in the order or for which the order cannot be determined are built in an undefined order after all other projects have been built. If no order is specified, the workspace computes an order determined by project references.
This method may change resources; these changes will be reported in a subsequent resource change event.
This method is long-running; progress and cancellation are provided by the given progress monitor.
@param kind the kind of build being requested. Valid values are
- {@link IncrementalProjectBuilder#FULL_BUILD}- indicates a full build.
- {@link IncrementalProjectBuilder#INCREMENTAL_BUILD}- indicates a incremental build.
- {@link IncrementalProjectBuilder#CLEAN_BUILD}- indicates a clean request. Clean does not actually build anything, but rather discards all problems and build states.
@param monitor a progress monitor, or
null
if progressreporting is not desired
@exception CoreException if the build fails.The status contained in the exception may be a generic {@link IResourceStatus#BUILD_FAILED}code, but it could also be any other status code; it might also be a {@link MultiStatus}.
@exception OperationCanceledException if the operation is canceled. Cancelation can occur even if no progress monitor is provided.
@see IProject#build(int,IProgressMonitor)
@see #computeProjectOrder(IProject[])
@see IncrementalProjectBuilder#FULL_BUILD
@see IncrementalProjectBuilder#INCREMENTAL_BUILD
@see IncrementalProjectBuilder#CLEAN_BUILD
@see IResourceRuleFactory#buildRule()