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))
}
}