[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[platform-core-dev] A question regarding the BuildManager
|
Hi,
I had some problems with one of my builders not kicking in so I did some
debugging. I ended up in class
org.eclipse.core.internal.events.BuildManager and found my problem. I
want to ask here first if this is intentional or if it's a bug. But from
the looks of it, the build manager will simply skip all builders
following a builder that isn't triggered, even if the subsequent
builders indeed would be triggered. Is this the way it's supposed to work?
I'm using Eclipse 3.3M6 and the source in question looks like this
(starting at line 186). Note the return statement after the
if(!command.isBuilding(trigger)):
protected void basicBuild(IProject project, int trigger, ICommand[]
commands, MultiStatus status, IProgressMonitor monitor) {
try {
for (int i = 0; i < commands.length; i++) {
checkCanceled(trigger, monitor);
BuildCommand command = (BuildCommand) commands[i];
//don't build if this builder doesn't respond to the
given trigger
if (!command.isBuilding(trigger)) {
monitor.worked(1);
return;
}
IProgressMonitor sub = Policy.subMonitorFor(monitor, 1);
IncrementalProjectBuilder builder = getBuilder(project,
command, i, status);
if (builder != null)
basicBuild(trigger, builder,
command.getArguments(false), status, sub);
}
} catch (CoreException e) {
status.add(e.getStatus());
}
}
Kind regards,
Thomas Hallgren