import Foundation import ProjectSpec import SwiftCLI import Version public class XcodeGenCLI { let cli: CLI public init(version: Version) { let generateCommand = GenerateCommand(version: version) let migrateCommand = MigrateCommand() cli = CLI( name: "xcodegen", version: version.description, description: "Generates Xcode projects", commands: [ generateCommand, DumpCommand(version: version), migrateCommand ] ) cli.parser.routeBehavior = .searchWithFallback(generateCommand) } public func execute(arguments: [String]? = nil) { let status: Int32 if let arguments = arguments { status = cli.go(with: arguments) } else { status = cli.go() } exit(status) } }