Swiftformat

This commit is contained in:
yonaskolb
2019-03-25 21:11:29 +11:00
parent 0d81d8e62b
commit fa156c1028
8 changed files with 57 additions and 59 deletions
@@ -22,10 +22,10 @@ public class CarthageDependencyResolver {
var executable: String {
return project.options.carthageExecutablePath ?? "carthage"
}
private let project: Project
lazy var versionLoader = CarthageVersionLoader(buildPath: project.basePath + buildPath)
init(project: Project) {
self.project = project
}
@@ -89,16 +89,16 @@ public class CarthageDependencyResolver {
return frameworks.sorted(by: { $0.reference < $1.reference })
}
/// Reads the .version file generated for a given Carthage dependency
/// and returns a list of its related dependencies including self
func relatedDependencies(for dependency: Dependency, in platform: Platform) -> [Dependency] {
guard
case .carthage = dependency.type,
let versionFile = try? versionLoader.getVersionFile(for: dependency.reference) else {
// No .version file or we've been unable to parse
// so fail gracefully by returning the main dependency
return [dependency]
// No .version file or we've been unable to parse
// so fail gracefully by returning the main dependency
return [dependency]
}
return versionFile.frameworks(for: platform)
.map { Dependency(
@@ -109,7 +109,7 @@ public class CarthageDependencyResolver {
link: dependency.link,
implicit: dependency.implicit,
weakLink: dependency.weakLink
)}
) }
.sorted(by: { $0.reference < $1.reference })
}
}
@@ -38,10 +38,10 @@ struct CarthageVersionFile: Decodable {
}
private let data: [Platform: [String]]
internal init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: Platform.self)
data = try Platform.allCases.reduce(into: [:]) { (data, platform) in
data = try Platform.allCases.reduce(into: [:]) { data, platform in
let references = try container.decodeIfPresent([Reference].self, forKey: platform) ?? []
let frameworks = Array(Set(references.map { $0.name })).sorted()
data[platform] = frameworks
+2 -3
View File
@@ -518,15 +518,14 @@ public class PBXProjGenerator {
)
}
if dependency.link ?? true {
let buildFile = addObject(
PBXBuildFile(file: fileReference, settings: getDependencyFrameworkSettings(dependency: dependency))
)
targetFrameworkBuildFiles.append(buildFile)
}
if !frameworkFiles.contains(fileReference) {
frameworkFiles.append(fileReference)
}
+7 -7
View File
@@ -13,7 +13,7 @@ extension Path {
public func simplifyingParentDirectoryReferences() -> Path {
return normalize().components.reduce(Path(), +)
}
/// Returns the relative path necessary to go from `base` to `self`.
///
/// Both paths must be absolute or relative paths.
@@ -26,13 +26,13 @@ extension Path {
/// It's impossible to determine the path between an absolute and a relative path
case unmatchedAbsolutePath
}
func pathComponents(for path: ArraySlice<String>, relativeTo base: ArraySlice<String>, memo: [String]) throws -> [String] {
switch (base.first, path.first) {
// Base case: Paths are equivalent
case (.none, .none):
return memo
// No path to backtrack from
case (.none, .some(let rhs)):
guard rhs != "." else {
@@ -40,11 +40,11 @@ extension Path {
return try pathComponents(for: path.dropFirst(), relativeTo: base, memo: memo)
}
return try pathComponents(for: path.dropFirst(), relativeTo: base, memo: memo + [rhs])
// Both sides have a common parent
case (.some(let lhs), .some(let rhs)) where lhs == rhs:
return try pathComponents(for: path.dropFirst(), relativeTo: base.dropFirst(), memo: memo)
// `base` has a path to back out of
case (.some(let lhs), _):
guard lhs != ".." else {
@@ -57,11 +57,11 @@ extension Path {
return try pathComponents(for: path, relativeTo: base.dropFirst(), memo: memo + [".."])
}
}
guard isAbsolute && base.isAbsolute || !isAbsolute && !base.isAbsolute else {
throw PathArgumentError.unmatchedAbsolutePath
}
return Path(components: try pathComponents(for: ArraySlice(simplifyingParentDirectoryReferences().components),
relativeTo: ArraySlice(base.simplifyingParentDirectoryReferences().components),
memo: []))