fun connect()

in server/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/server/buildgraph/BuildGraphDependencyConnector.kt [17:51]


    fun connect(
        setupBuild: ValidatedSetupBuild,
        generatedBuild: DistributedBuild,
        originalBuild: SBuild,
    ) {
        val setupBuildPromotion = setupBuild.buildPromotion.asBuildPromotionEx()
        val originalBuildPromotion = originalBuild.buildPromotion.asBuildPromotionEx()

        setupBuildPromotion.addAsADependencyTo(generatedBuild.starts)

        with(originalBuildPromotion) {
            addDependencies(generatedBuild.ends) {
                setOption(DependencyOptions.RUN_BUILD_IF_DEPENDENCY_FAILED, DependencyOptions.BuildContinuationMode.RUN_ADD_PROBLEM)
                setOption(
                    DependencyOptions.RUN_BUILD_IF_DEPENDENCY_FAILED_TO_START,
                    DependencyOptions.BuildContinuationMode.RUN_ADD_PROBLEM,
                )
            }

            customArtifactDependencies =
                artifactDependencies +
                generatedBuild.builds.map {
                    artifactDependencyFactory.createArtifactDependency(
                        it.buildTypeExternalId,
                        "**/* => .",
                        RevisionRules.LAST_FINISHED_SAME_CHAIN_RULE,
                    )
                }

            removeDependency(setupBuildPromotion)
            persist()
        }

        setupBuildPromotion.persist()
    }