private void proccessRemovedFromQueueBuild()

in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/CommitStatusPublisherListener.java [607:638]


  private void proccessRemovedFromQueueBuild(SQueuedBuild queuedBuild, User user, String comment) {
    BuildPromotion buildPromotion = queuedBuild.getBuildPromotion();
    AdditionalTaskInfo additionalTaskInfo = buildAdditionalRemovedFromQueueInfo(buildPromotion, comment, user);

    PublishingProcessor publishingProcessor = new PublishingProcessor() {
      @Override
      public RetryInfo publish(Event event, BuildRevision revision, CommitStatusPublisher publisher) {
        SBuildType buildType = buildPromotion.getBuildType();
        if (buildType == null) {
          return new RetryInfo();
        }
        if (!publisher.isAvailable(buildPromotion)) return new RetryInfo();

        Lock lock = myPublishingLocks.get(getLockKey(buildType, revision));
        lock.lock();
        try {
          publisher.buildRemovedFromQueue(buildPromotion, revision, additionalTaskInfo);
        } catch (PublisherException e) {
          LOG.warn("Cannot publish removed build status to VCS for " + publisher.getBuildType() + ", commit: " + revision.getRevision(), e);
        } finally {
          lock.unlock();
        }
        return new RetryInfo();
      }

      @Override
      public Collection<BuildRevision> getRevisions(BuildType buildType, CommitStatusPublisher publisher) {
        return getQueuedBuildRevisionForVote(buildType, publisher, buildPromotion);
      }
    };
    proccessPublishing(Event.REMOVED_FROM_QUEUE, buildPromotion, publishingProcessor);
  }