Class BuildAction

  • All Implemented Interfaces:
    IAction, ISelectionChangedListener

    public class BuildAction
    extends WorkspaceAction
    Standard actions for full and incremental builds of the selected project(s) and their references project build configurations.

    This class may be instantiated; it is not intended to be subclassed.

    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Detail

      • BuildAction

        @Deprecated
        public BuildAction​(Shell shell,
                           int type)
        Creates a new action of the appropriate type. The action id is ID_BUILD for incremental builds and ID_REBUILD_ALL for full builds.
        Parameters:
        shell - the shell for any dialogs
        type - the type of build; one of IncrementalProjectBuilder.INCREMENTAL_BUILD or IncrementalProjectBuilder.FULL_BUILD
      • BuildAction

        public BuildAction​(IShellProvider provider,
                           int type)
        Creates a new action of the appropriate type. The action id is ID_BUILD for incremental builds and ID_REBUILD_ALL for full builds.
        Parameters:
        provider - the shell provider for any dialogs
        type - the type of build; one of IncrementalProjectBuilder.INCREMENTAL_BUILD or IncrementalProjectBuilder.FULL_BUILD
        Since:
        3.4
    • Method Detail

      • getActionResources

        protected List<? extends IResource> getActionResources()
        Description copied from class: WorkspaceAction
        Returns the elements that the action is to be performed on. By default return the selected resources.

        Subclasses may override this method.

        Overrides:
        getActionResources in class WorkspaceAction
        Returns:
        list of resource elements (element type: IResource)
      • getOperationMessage

        protected String getOperationMessage()
        Description copied from class: WorkspaceAction
        Returns the string to display for this action's operation.

        Note that this hook method is invoked in a non-UI thread.

        Subclasses must implement this method.

        Specified by:
        getOperationMessage in class WorkspaceAction
        Returns:
        the message
      • getProblemsMessage

        protected String getProblemsMessage()
        Description copied from class: WorkspaceAction
        Returns the string to display for this action's problems dialog.

        The WorkspaceAction implementation of this method returns a vague message (localized counterpart of something like "The following problems occurred."). Subclasses may reimplement to provide something more suited to the particular action.

        Overrides:
        getProblemsMessage in class WorkspaceAction
        Returns:
        the problems message
      • getProblemsTitle

        protected String getProblemsTitle()
        Description copied from class: WorkspaceAction
        Returns the title for this action's problems dialog.

        The WorkspaceAction implementation of this method returns a generic title (localized counterpart of "Problems"). Subclasses may reimplement to provide something more suited to the particular action.

        Overrides:
        getProblemsTitle in class WorkspaceAction
        Returns:
        the problems dialog title
      • getBuildConfigurationsToBuild

        protected List<? extends IBuildConfiguration> getBuildConfigurationsToBuild()
        This collection of project build configs, derived from the selected resources, is passed to the workspace for building. The Workspace is responsible for resolving references.
        Returns:
        List of project build configurations to build.
        Since:
        3.7
      • isEnabled

        public boolean isEnabled()
        Description copied from interface: IAction
        Returns whether this action is enabled.

        This method is associated with the ENABLED property; property change events are reported when its value changes.

        Specified by:
        isEnabled in interface IAction
        Overrides:
        isEnabled in class Action
        Returns:
        true if enabled, and false if disabled
        See Also:
        IAction.ENABLED
      • isSaveAllSet

        public static boolean isSaveAllSet()
        Returns whether the user's preference is set to automatically save modified resources before a manual build is done.
        Returns:
        true if Save All Before Build is enabled
      • run

        public void run()
        Description copied from class: WorkspaceAction
        The CoreWrapperAction implementation of this IAction method uses a ProgressMonitorDialog to run the operation. The operation calls execute (which, in turn, calls invokeOperation). Afterwards, any CoreExceptions encountered while running the operation are reported to the user via a problems dialog.

        Subclasses may extend this method.

        Specified by:
        run in interface IAction
        Overrides:
        run in class WorkspaceAction
        See Also:
        How radio buttons are handled, How check boxes are handled
      • runInBackground

        public void runInBackground​(ISchedulingRule rule,
                                    Object[] jobFamilies)
        Description copied from class: WorkspaceAction
        Run the action in the background rather than with the progress dialog.
        Overrides:
        runInBackground in class WorkspaceAction
        Parameters:
        rule - The rule to apply to the background job or null if there isn't one.
        jobFamilies - the families the job should belong to or null if none.
      • shouldPerformResourcePruning

        protected boolean shouldPerformResourcePruning()
        Description copied from class: WorkspaceAction
        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).

        The WorkspaceAction implementation of this method returns true. Subclasses should reimplement to return false if pruning is not required.

        Overrides:
        shouldPerformResourcePruning in class WorkspaceAction
        Returns:
        true if pruning should be performed, and false if pruning is not desired
      • updateSelection

        protected boolean updateSelection​(IStructuredSelection s)
        The BuildAction implementation of this SelectionListenerAction method ensures that this action is enabled only if all of the selected resources have buildable projects.
        Overrides:
        updateSelection in class WorkspaceAction
        Parameters:
        s - the new selection
        Returns:
        true if the action should be enabled for this selection, and false otherwise