mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2024-09-20 09:08:46 +03:00
40 lines
1.1 KiB
Swift
40 lines
1.1 KiB
Swift
import Foundation
|
|
import PathKit
|
|
import ProjectSpec
|
|
import Rainbow
|
|
import SwiftCLI
|
|
|
|
enum GenerationError: Error, CustomStringConvertible, ProcessError {
|
|
case missingProjectSpec(Path)
|
|
case projectSpecParsingError(Error)
|
|
case cacheGenerationError(Error)
|
|
case validationError(SpecValidationError)
|
|
case generationError(Error)
|
|
case writingError(Error)
|
|
|
|
var description: String {
|
|
switch self {
|
|
case let .missingProjectSpec(path):
|
|
return "No project spec found at \(path.absolute())"
|
|
case let .projectSpecParsingError(error):
|
|
return "Parsing project spec failed: \(error)"
|
|
case let .cacheGenerationError(error):
|
|
return "Couldn't generate cache file: \(error)"
|
|
case let .validationError(error):
|
|
return error.description
|
|
case let .generationError(error):
|
|
return String(describing: error)
|
|
case let .writingError(error):
|
|
return String(describing: error)
|
|
}
|
|
}
|
|
|
|
var message: String? {
|
|
return description.red
|
|
}
|
|
|
|
var exitStatus: Int32 {
|
|
return 1
|
|
}
|
|
}
|