in Sources/XCRemoteCache/Commands/Prepare/Integrate/XcodeSettingsFlags.swift [55:77]
mutating func assignFlag(key: String, value: String?) {
let flags: [String]
let formattedKey = Self.swiftFlagPrefix.appending(key)
switch (settingValue, value) {
case (nil, nil):
return
case (nil, .some(let value)):
flags = [XcodeSettingsBuilder.inheritedExpression, formattedKey, value]
case (.some(let existing), _):
var flagsComponents: [String] = existing.split(separator: " ").map(String.init)
// remove (if exists)
if let previousIndex = flagsComponents.firstIndex(of: formattedKey) {
// delete "-{key}" and "{value}"
flagsComponents.removeSubrange(previousIndex..<previousIndex + 2)
}
// add if setting a non nil value
if let newValue = value {
flagsComponents += buildSwiftFlag(key: formattedKey, value: newValue)
}
flags = flagsComponents
}
settingValue = XcodeSettingsBuilder.composeFlags(flags)
}