private void doBuildFiles( List<IBuildParticipant> participants, Collection<IFile> files, IProgressMonitor monitor) throws CoreException { if (CollectionsUtil.isEmpty(files)) { return; } SubMonitor sub = SubMonitor.convert(monitor, 15 * files.size()); for (IFile file : files) { BuildContext context = new BuildContext(file); sub.worked(1); IBuildParticipantManager manager = getBuildParticipantManager(); if (manager == null) { return; } List<IBuildParticipant> filteredParticipants = manager.filterParticipants(participants, context.getContentType()); sub.worked(2); buildFile(context, filteredParticipants, sub.newChild(12)); // stop building if canceled if (sub.isCanceled()) { break; } } sub.done(); }
private void removeFiles( List<IBuildParticipant> participants, Set<IFile> filesToRemoveFromIndex, IProgressMonitor monitor) throws CoreException { if (CollectionsUtil.isEmpty(filesToRemoveFromIndex)) { return; } SubMonitor sub = SubMonitor.convert(monitor, 16 * filesToRemoveFromIndex.size()); for (IFile file : filesToRemoveFromIndex) { BuildContext context = new BuildContext(file); sub.worked(1); IBuildParticipantManager manager = getBuildParticipantManager(); if (manager == null) { return; } List<IBuildParticipant> filteredParticipants = manager.filterParticipants(participants, context.getContentType()); sub.worked(5); deleteFile(context, filteredParticipants, sub.newChild(10)); } sub.done(); }