java.lang.Object
org.eclipse.core.internal.events.InternalBuilder
org.eclipse.core.resources.IncrementalProjectBuilder
com.port80.eclipse.builder.AbstractBuilder
- All Implemented Interfaces:
- org.eclipse.core.runtime.IExecutableExtension
- Direct Known Subclasses:
- BlacksunBuilder, JavaccBuilder, MakeBuilder
- public abstract class AbstractBuilder
- extends org.eclipse.core.resources.IncrementalProjectBuilder
| Fields inherited from class org.eclipse.core.internal.events.InternalBuilder |
|
| Methods inherited from class org.eclipse.core.internal.events.InternalBuilder |
|
NAME
private static final java.lang.String NAME
- See Also:
- Constant Field Values
DEBUG
private static final boolean DEBUG
- See Also:
- Constant Field Values
VERBOSE
private static final boolean VERBOSE
- See Also:
- Constant Field Values
AbstractBuilder
public AbstractBuilder()
getBuilderName
public abstract java.lang.String getBuilderName()
getCommand
public abstract java.lang.String[] getCommand(java.util.Map args)
build
protected org.eclipse.core.resources.IProject[] build(int kind,
java.util.Map args,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
- Description copied from class:
org.eclipse.core.resources.IncrementalProjectBuilder
- Runs this builder in the specified manner. Subclasses should implement
this method to do the processing they require.
If the build kind is INCREMENTAL_BUILD or
AUTO_BUILD, the getDelta method can be
used during the invocation of this method to obtain information about
what changes have occurred since the last invocation of this method. Any
resource delta acquired is valid only for the duration of the invocation
of this method.
After completing a build, this builder may return a list of projects for
which it requires a resource delta the next time it is run. This
builder's project is implicitly included and need not be specified. The
build mechanism will attempt to maintain and compute deltas relative to
the identified projects when asked the next time this builder is run.
Builders must re-specify the list of interesting projects every time they
are run as this is not carried forward beyond the next build. Projects
mentioned in return value but which do not exist will be ignored and no
delta will be made available for them.
This method is long-running; progress and cancellation are provided by
the given progress monitor. All builders should report their progress and
honor cancel requests in a timely manner. Cancelation requests should be
propagated to the caller by throwing
OperationCanceledException.
All builders should try to be robust in the face of trouble. In
situations where failing the build by throwing CoreException
is the only option, a builder has a choice of how best to communicate the
problem back to the caller. One option is to use the
BUILD_FAILED status code along with a suitable message;
another is to use a multi-status containing finer-grained problem
diagnoses.
build
public org.eclipse.core.resources.IProject[] build(org.eclipse.core.resources.IProject project,
java.lang.String work_dir,
java.util.Map args,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
build
public org.eclipse.core.resources.IProject[] build(org.eclipse.core.resources.IProject project,
java.lang.String work_dir,
java.util.Map args)
throws org.eclipse.core.runtime.CoreException
- Build without progress monitor and refresh, use for building in background.
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object
- Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method
never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string
concatenation with this object. If the result is
null, string concatenation will instead
use "null".
The default implementation returns
getClass().getName() + "@" +
Integer.toHexString(hashCode()).