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.
  • Field Details

  • Constructor Details

    • 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 Details

    • 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:
    • 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:
    • 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