Пример #1
0
  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();
  }
Пример #2
0
  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();
  }