fun parseTargetPlatforms()

in common/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/common/buildcookrun/UnrealTargetPlatformsParameter.kt [58:76]


    fun parseTargetPlatforms(
        runnerParameters: Map<String, String>,
        name: String,
    ): NonEmptyList<UnrealTargetPlatform> {
        val platformsRaw = runnerParameters[name]
        ensureNotNull(platformsRaw) { PropertyValidationError(name, "Target platform list is missing") }

        val platforms =
            platformsRaw
                .split(SEPARATOR)
                .filter { it.isNotEmpty() }
                .map { UnrealTargetPlatform(it) }

        if (platforms.isEmpty()) {
            raise(PropertyValidationError(name, "At least one target platform must be specified"))
        } else {
            return NonEmptyList(platforms.first(), platforms.drop(1))
        }
    }