fun validate()

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