fun parse()

in common/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/common/buildgraph/BuildGraphParameters.kt [109:129]


    fun parse(runnerParameters: Map<String, String>): BuildGraphMode {
        val modeRaw = runnerParameters[name] ?: return BuildGraphMode.SingleMachine

        return when (modeRaw) {
            singleMachine.name -> BuildGraphMode.SingleMachine
            distributed.name -> {
                val postBadges = runnerParameters[PostBadgesFromGraphParameter.name].toBoolean()
                val metadataServerUrl = runnerParameters[UgsMetadataServerUrlParameter.name]
                if (postBadges) {
                    ensure(!metadataServerUrl.isNullOrBlank()) {
                        PropertyValidationError(
                            UgsMetadataServerUrlParameter.name,
                            "Metadata server URL should not be empty",
                        )
                    }
                }
                BuildGraphMode.Distributed(if (postBadges) UgsMetadataServerUrl(metadataServerUrl!!) else null)
            }
            else -> raise(PropertyValidationError(name, "Unknown BuildGraph mode value $modeRaw"))
        }
    }