Class ACBuilder

  • All Implemented Interfaces:
    IMarkerGenerator, org.eclipse.core.runtime.IExecutableExtension

    public abstract class ACBuilder
    extends org.eclipse.core.resources.IncrementalProjectBuilder
    implements IMarkerGenerator
    • Constructor Summary

      Constructors 
      Constructor Description
      ACBuilder()
      Constructor for ACBuilder
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addMarker​(ProblemMarkerInfo problemMarkerInfo)
      Callback from Output Parser
      void addMarker​(org.eclipse.core.resources.IResource file, int lineNumber, java.lang.String errorDesc, int severity, java.lang.String errorVar)  
      static boolean buildConfigResourceChanges()
      Preference for building configurations only when there are resource changes within Eclipse or when there are changes in its references.
      protected void clean​(org.eclipse.core.runtime.IProgressMonitor monitor)  
      void deDuplicate()
      Remove duplicate error markers that may have been created by addMarker(ProblemMarkerInfo) with the ProblemMarkerInfo.isDeferDeDuplication() flag set.
      protected org.eclipse.core.resources.IProject getCurrentProject()
      Returns the current project that this builder is running.
      org.eclipse.core.runtime.jobs.ISchedulingRule getRule​(int trigger, java.util.Map args)
      Default ACBuilder shouldn't require locking the workspace during a CDT Project build.
      static boolean needAllConfigBuild()  
      protected void printEvent​(int kind, java.util.Map<java.lang.String,​java.lang.String> args)
      For debugging purpose only.
      static void setAllConfigBuild​(boolean enable)  
      static void setBuildConfigResourceChanges​(boolean enable)
      Preference for building configurations only when there are resource changes within Eclipse or when there are changes in its references.
      protected void setCurrentProject​(org.eclipse.core.resources.IProject project)
      Set the current project that this builder is running.
      • Methods inherited from class org.eclipse.core.resources.IncrementalProjectBuilder

        build, forgetLastBuiltState, getBuildConfig, getCommand, getContext, getDelta, getProject, hasBeenBuilt, isInterrupted, needRebuild, rememberLastBuiltState, setInitializationData, startupOnInitialize
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

    • Constructor Detail

      • ACBuilder

        public ACBuilder()
        Constructor for ACBuilder
    • Method Detail

      • setCurrentProject

        protected void setCurrentProject​(org.eclipse.core.resources.IProject project)
        Set the current project that this builder is running.
        Since:
        5.11
      • getCurrentProject

        protected org.eclipse.core.resources.IProject getCurrentProject()
        Returns the current project that this builder is running.
        Returns:
        the project
        Since:
        5.11
      • addMarker

        public void addMarker​(org.eclipse.core.resources.IResource file,
                              int lineNumber,
                              java.lang.String errorDesc,
                              int severity,
                              java.lang.String errorVar)
        Specified by:
        addMarker in interface IMarkerGenerator
      • deDuplicate

        public void deDuplicate()
        Remove duplicate error markers that may have been created by addMarker(ProblemMarkerInfo) with the ProblemMarkerInfo.isDeferDeDuplication() flag set. This method will also remove other duplicate ICModelMarker.C_MODEL_PROBLEM_MARKER markers on the resources referred to by ProblemMarkerInfo.
        Since:
        6.3
      • needAllConfigBuild

        public static boolean needAllConfigBuild()
      • setAllConfigBuild

        public static void setAllConfigBuild​(boolean enable)
      • buildConfigResourceChanges

        public static boolean buildConfigResourceChanges()
        Preference for building configurations only when there are resource changes within Eclipse or when there are changes in its references.
        Returns:
        true if configurations will be build when project resource changes within Eclipse false otherwise
        Since:
        5.1
      • setBuildConfigResourceChanges

        public static void setBuildConfigResourceChanges​(boolean enable)
        Preference for building configurations only when there are resource changes within Eclipse or when there are changes in its references.
        Parameters:
        enable -
        Since:
        5.1
      • printEvent

        protected void printEvent​(int kind,
                                  java.util.Map<java.lang.String,​java.lang.String> args)
        For debugging purpose only. Prints events on the debug console.
        Since:
        5.2
      • clean

        protected void clean​(org.eclipse.core.runtime.IProgressMonitor monitor)
                      throws org.eclipse.core.runtime.CoreException
        Overrides:
        clean in class org.eclipse.core.resources.IncrementalProjectBuilder
        Throws:
        org.eclipse.core.runtime.CoreException
      • getRule

        public org.eclipse.core.runtime.jobs.ISchedulingRule getRule​(int trigger,
                                                                     java.util.Map args)
        Default ACBuilder shouldn't require locking the workspace during a CDT Project build. Note this may have a detrimental effect on #getDelta(). Derived builders which rely on #getDelta(...) being accurate should return a WorkspaceRoot scheduling rule.
        Overrides:
        getRule in class org.eclipse.core.resources.IncrementalProjectBuilder
        Since:
        5.2