Skip to content

Commit

Permalink
Generate incompatibility lines using functional style
Browse files Browse the repository at this point in the history
  • Loading branch information
jasonboyle committed Aug 9, 2018
1 parent 2cc9f88 commit 83d584a
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions Source/CarthageKit/Errors.swift
Original file line number Diff line number Diff line change
Expand Up @@ -340,15 +340,17 @@ extension CarthageError: CustomStringConvertible {

case let .invalidResolvedCartfile(incompatibilities):
var message = "The following incompatibilities were found in Cartfile.resolved:\n"
var lines: [String] = []
let sortedIncompatibilities = incompatibilities.sorted(by: { $0.dependency.name < $1.dependency.name })
sortedIncompatibilities.forEach { incompatibility in
let sortedRequirements = incompatibility.incompatibleRequirements.sorted(by: { $0.0.name < $1.0.name })
for (dependency, version) in sortedRequirements {
lines.append("* \(incompatibility.dependency.name) \(incompatibility.pinnedVersion) is incompatible with \(dependency.name) \(version)")
message += incompatibilities
.sorted { $0.dependency.name < $1.dependency.name }
.flatMap { incompatibility -> [String] in
let sortedRequirements = incompatibility
.incompatibleRequirements
.sorted { $0.0.name < $1.0.name }
return sortedRequirements.map { dependency, version in
return "* \(incompatibility.dependency.name) \(incompatibility.pinnedVersion) is incompatible with \(dependency.name) \(version)"
}
}
}
message += lines.joined(separator: "\n")
.joined(separator: "\n")
return message
}
}
Expand Down

0 comments on commit 83d584a

Please sign in to comment.