Emcee
1import Foundation
2import PathLib
3
4public enum DeploymentError: Error, CustomStringConvertible {
5case unableToObtainInfoAboutFile(DeployableFile)
6case unableToCreateArchive(AbsolutePath)
7case failedToEnumerateContentsOfDirectory(AbsolutePath)
8case failedToRelativizePath(AbsolutePath, anchorPath: AbsolutePath)
9case failedToPrepareDeployable([DeployableItem])
10
11public var description: String {
12switch self {
13case .unableToObtainInfoAboutFile(let deployableFile):
14return "Unable to obtain info about deployable file: '\(deployableFile)'"
15case .unableToCreateArchive(let path):
16return "Unable to create archive at: '\(path)'"
17case .failedToEnumerateContentsOfDirectory(let path):
18return "Failed to enumerate contents of directory: '\(path)'"
19case .failedToRelativizePath(let path, let anchorPath):
20return "Failed to build a relative path for '\(path)', anchor: '\(anchorPath)'"
21case .failedToPrepareDeployable(let deployableItems):
22return "Failed to prepare deployable items: \(deployableItems)"
23}
24}
25}
26