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
|
|
|
|
|
2015-09-03 23:38:54 +00:00
|
|
|
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())
|
2015-09-13 22:14:14 +00:00
|
|
|
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())
|
2015-12-30 21:03:45 +00:00
|
|
|
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)
|
|
|
|
|
2015-09-03 23:13:47 +00:00
|
|
|
registry.main(defaultVerb: helpCommand.verb) { error in
|
2015-09-03 23:38:54 +00:00
|
|
|
if let sourceError = error.sourceError {
|
|
|
|
var stderr = StderrOutputStream()
|
2015-09-14 08:51:09 +00:00
|
|
|
print(sourceError.localizedDescription, toStream: &stderr)
|
2015-09-03 23:38:54 +00:00
|
|
|
}
|
2015-09-03 23:13:47 +00:00
|
|
|
exit(Int32(error.code))
|
|
|
|
}
|
2015-07-11 10:30:30 +00:00
|
|
|
|