Package org.eclipse.cdt.core.resources

# Class ACBuilder

java.lang.Object
org.eclipse.core.internal.events.InternalBuilder
org.eclipse.core.resources.IncrementalProjectBuilder
org.eclipse.cdt.core.resources.ACBuilder

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

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

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final boolean`
`DEBUG_EVENTS`

### Fields inherited from class org.eclipse.core.resources.IncrementalProjectBuilder

`AUTO_BUILD, CLEAN_BUILD, FULL_BUILD, INCREMENTAL_BUILD`

### Fields inherited from interface org.eclipse.cdt.core.IMarkerGenerator

`SEVERITY_ERROR_BUILD, SEVERITY_ERROR_RESOURCE, SEVERITY_INFO, SEVERITY_WARNING`

## Constructor Summary

Constructors
Constructor
Description
`ACBuilder()`
Constructor for ACBuilder

## Method Summary

Modifier and Type
Method
Description
`void`
`addMarker(ProblemMarkerInfo problemMarkerInfo)`
Callback from Output Parser
`void`
`addMarker(org.eclipse.core.resources.IResource file, int lineNumber, String errorDesc, int severity, 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, Map args)`
Default ACBuilder shouldn't require locking the workspace during a CDT Project build.
`static boolean`
`needAllConfigBuild()`
`protected void`
`printEvent(int kind, Map<String,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, requestProjectRebuild, requestProjectsRebuild, setInitializationData, startupOnInitialize`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### DEBUG_EVENTS

protected static final boolean DEBUG_EVENTS

Since:
  5.2
See Also:
  - Constant Field Values

## Constructor Details

### ACBuilder

public ACBuilder()
Constructor for ACBuilder

## Method Details

### 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, String errorDesc, int severity, 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

### addMarker

public void addMarker(ProblemMarkerInfo problemMarkerInfo)
Callback from Output Parser

Specified by:
  `addMarker` in interface `IMarkerGenerator`

### 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, Map<String,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, 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