mas/mas-cli/main.swift

37 lines
956 B
Swift
Raw Normal View History

2015-07-11 10:30:30 +00:00
//
// main.swift
// mas-cli
//
// Created by Andrew Naylor on 11/07/2015.
// Copyright © 2015 Andrew Naylor. All rights reserved.
//
import Foundation
public struct StderrOutputStream: OutputStreamType {
public mutating func write(string: String) {
fputs(string, stderr)
}
}
2015-08-02 20:38:38 +00:00
let registry = CommandRegistry<MASError>()
let helpCommand = HelpCommand(registry: registry)
registry.register(AccountCommand())
registry.register(InstallCommand())
registry.register(ListCommand())
registry.register(OutdatedCommand())
2016-02-14 01:22:33 +00:00
registry.register(SignInCommand())
2016-02-14 01:33:17 +00:00
registry.register(SignOutCommand())
registry.register(UpgradeCommand())
2015-09-20 10:40:55 +00:00
registry.register(VersionCommand())
2015-08-02 20:38:38 +00:00
registry.register(helpCommand)
registry.main(defaultVerb: helpCommand.verb) { error in
if let sourceError = error.sourceError {
var stderr = StderrOutputStream()
2015-09-14 08:51:09 +00:00
print(sourceError.localizedDescription, toStream: &stderr)
}
exit(Int32(error.code))
}
2015-07-11 10:30:30 +00:00