in server/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/server/build/state/DistributedBuildStateTracker.kt [68:82]
suspend fun handleBuildEvent(event: DistributedBuildEvent) {
val parentBuild = promotionManager.findParentBuild(event.build) ?: return
val updatedState =
when (event) {
is BuildStepStarted -> buildStepStarted(parentBuild, event)
is BuildStepCompleted -> buildStepFinished(parentBuild, event)
is BuildStepInterrupted -> buildStepInterrupted(parentBuild, event)
is BuildSkipped -> buildSkipped(parentBuild, event.build)
}
if (buildCompleted(updatedState)) {
stateStorage.dispose(parentBuild)
}
}