Bug 53582 Rebuild Project are not run in the background?
The "Build All" and "Rebuild All" actions are run in the background, but the "Build Project" and "Rebuild Project" actions aren't. This is not consistent and I was surprised to get a modal dialog when performing a "Rebuild Project".
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
String msg = IDEWorkbenchMessages.format("WorkspaceAction.logTitle", new Object[]{
					getClass().getName(), e.getTargetException()}); 
			IDEWorkbenchPlugin.log(msg, StatusUtil.newStatus(IStatus.ERROR, msg, e
					.getTargetException()));
			displayError(e.getTargetException().getMessage());
		}
		
		if (errorStatus != null) {
			ErrorDialog.openError(shell, getProblemsTitle(), null, 
					errorStatus);
		}
		errorStatus = null;
	}
	/**
	 * Returns whether this action should attempt to optimize the resources being
	 * operated on. This kind of pruning makes sense when the operation has depth
	 * infinity semantics (when the operation is applied explicitly to a resource
	 * then it is also applied implicitly to all the resource's descendents).
	 * <p>
	 * The <code>WorkspaceAction</code> implementation of this method returns
	 * <code>true</code>. Subclasses should reimplement to return <code>false</code>
	 * if pruning is not required.
	 * </p>
	 *
	 * @return <code>true</code> if pruning should be performed, 
	 *   and <code>false</code> if pruning is not desired
	 */
	boolean shouldPerformResourcePruning() {
		return true;
	}