fun initializeBuildSettings()

in server/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/server/buildgraph/BuildGraphSettingsInitializer.kt [13:41]


    fun initializeBuildSettings(
        originalBuild: SBuild,
        badges: Collection<Badge>,
    ): BuildGraphBuildSettings {
        val originalRunnerParameters =
            originalBuild.buildPromotion
                .activeRunners()
                .singleOrNull()
                ?.parameters
                .let {
                    ensureNotNull(it, "Unable to get runner parameters (there should be exactly one active UnrealEngine runner)")
                }

        val modeSettings = BuildGraphModeParameter.parse(originalRunnerParameters) as? BuildGraphMode.Distributed

        val badgePostingConfig =
            if (modeSettings?.metadataServerUrl == null) {
                BadgePostingConfig.Disabled
            } else {
                ensureNotNull(modeSettings.metadataServerUrl, "Metadata Server URL not set")
                    .let {
                        BadgePostingConfig.Enabled(it, badges)
                    }
            }

        return BuildGraphBuildSettings(badgePostingConfig).also {
            originalBuild.addBuildGraphBuildSettings(it)
        }
    }