in server/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/server/buildgraph/BuildGraphSetupBuildValidator.kt [31:61]
fun validate(setupBuild: SRunningBuild): ValidationResult {
val isBuildGraphSetup =
setupBuild.buildPromotion
.asBuildPromotionEx()
.attributes[settings.setupBuildMarker]
.toString()
.toBoolean()
ensure(isBuildGraphSetup) {
BuildSkipped("The running build \"${setupBuild.fullName}\" isn't a build graph setup build")
}
ensureNotNull(setupBuild.projectId) {
BuildSkipped("Build graph setup build is missing project id. Distributed build won't be created")
}
val originalBuild =
setupBuild.buildPromotion
.asBuildPromotionEx()
.let {
ensureNotNull(
it.dependedOnMe
.singleOrNull()
?.dependent
?.associatedBuild,
"Unable to find the original build for ${setupBuild.fullName}",
)
}
return ValidationResult(ValidatedSetupBuild(setupBuild), originalBuild)
}