fun parseTargetConfigurations()

in common/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/common/buildcookrun/UnrealTargetConfigurationsParameter.kt [56:82]


    fun parseTargetConfigurations(
        runnerParameters: Map<String, String>,
        name: String,
    ): NonEmptyList<UnrealTargetConfiguration> {
        val configurationsRaw = runnerParameters[name]
        ensureNotNull(configurationsRaw) { PropertyValidationError(name, "Target configuration list is missing") }

        val configurations =
            configurationsRaw
                .split(SEPARATOR)
                .map { UnrealTargetConfiguration(it) }
                .filter { configuration ->
                    UnrealTargetConfiguration.knownConfigurations.contains(configuration) ||
                        ReferencesResolverUtil.isReference(configuration.value)
                }
        if (configurations.isEmpty()) {
            raise(
                PropertyValidationError(
                    name,
                    "At least one target configuration must be specified. " +
                        "Valid values are: ${UnrealTargetConfiguration.knownConfigurations.joinToString()}",
                ),
            )
        } else {
            return NonEmptyList(configurations.first(), configurations.drop(1))
        }
    }