mas/mas-cli/main.swift
2016-02-14 01:34:27 +00:00

35 lines
920 B
Swift

//
// 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)
}
}
let registry = CommandRegistry<MASError>()
let helpCommand = HelpCommand(registry: registry)
registry.register(AccountCommand())
registry.register(InstallCommand())
registry.register(ListCommand())
registry.register(OutdatedCommand())
registry.register(SignInCommand())
registry.register(UpgradeCommand())
registry.register(VersionCommand())
registry.register(helpCommand)
registry.main(defaultVerb: helpCommand.verb) { error in
if let sourceError = error.sourceError {
var stderr = StderrOutputStream()
print(sourceError.localizedDescription, toStream: &stderr)
}
exit(Int32(error.code))
}