Slide 20
Slide 20 text
// CopyFrameworks.swift
public struct CopyFrameworksCommand: CommandType {
public func run(options: NoOptions) -> Result<(), CarthageError> {
return inputFiles()
.flatMap(.Concat) { frameworkPath -> SignalProducer<(), CarthageError> in
let frameworkName = (frameworkPath as NSString).lastPathComponent
let source = Result(..)
let target = frameworksFolder().map {
$0.URLByAppendingPathComponent(frameworkName, isDirectory: true)
}
return combineLatest(
SignalProducer(result: source),
SignalProducer(result: target),
SignalProducer(result: validArchitectures())
)
.flatMap(.Merge) { (source, target, validArchitectures) -> SignalProducer<(), CarthageError> in
let copyFrameworks = copyFramework(...)
let copydSYMs = copyDebugSymbolsForFramework(...)
return combineLatest(copyFrameworks, copydSYMs)
.then(.empty)
}
}
.waitOnCommand()
}
}