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);
}