@Override protected void clean(IProgressMonitor monitor) throws CoreException { super.clean(monitor); IProject project = getProjectHandle(); IBuildParticipantManager manager = getBuildParticipantManager(); if (manager == null) { return; } List<IBuildParticipant> participants = manager.getAllBuildParticipants(); participants = filterToEnabled(participants, project); SubMonitor sub = SubMonitor.convert(monitor, participants.size() + 2); sub.worked(1); removeProblemsAndTasksFor(project); sub.worked(1); // FIXME Should we visit all files and call "deleteFile" sort of like what we do with fullBuild? for (IBuildParticipant participant : participants) { if (sub.isCanceled()) { return; } participant.clean(project, sub.newChild(1)); } sub.done(); }
private void buildFile( BuildContext context, List<IBuildParticipant> participants, IProgressMonitor monitor) throws CoreException { if (CollectionsUtil.isEmpty(participants)) { return; } SubMonitor sub = SubMonitor.convert(monitor, 2 * participants.size()); for (IBuildParticipant participant : participants) { long startTime = System.nanoTime(); participant.buildFile(context, sub.newChild(1)); if (traceParticipantsEnabled) { double endTime = ((double) System.nanoTime() - startTime) / 1000000; IdeLog.logTrace( BuildPathCorePlugin.getDefault(), MessageFormat.format( "Executed build participant ''{0}'' on ''{1}'' in {2} ms.", participant.getName(), context.getURI(), endTime), IDebugScopes.BUILDER_PARTICIPANTS); // $NON-NLS-1$ } // stop building if it has been canceled if (sub.isCanceled()) { break; } } updateMarkers(context, sub.newChild(participants.size())); sub.done(); }
private void buildEnding(List<IBuildParticipant> participants, IProgressMonitor monitor) { if (participants == null) { return; } SubMonitor sub = SubMonitor.convert(monitor, participants.size()); for (IBuildParticipant participant : participants) { participant.buildEnding(sub.newChild(1)); } sub.done(); }
private void buildStarting( List<IBuildParticipant> participants, int kind, IProgressMonitor monitor) { if (CollectionsUtil.isEmpty(participants)) { return; } SubMonitor sub = SubMonitor.convert(monitor, participants.size()); for (IBuildParticipant participant : participants) { participant.buildStarting(getProjectHandle(), kind, sub.newChild(1)); } sub.done(); }
private void deleteFile( BuildContext context, List<IBuildParticipant> participants, IProgressMonitor monitor) { if (CollectionsUtil.isEmpty(participants)) { return; } SubMonitor sub = SubMonitor.convert(monitor, participants.size()); for (IBuildParticipant participant : participants) { participant.deleteFile(context, sub.newChild(1)); } sub.done(); }