                     print("Swift Package Manager – Swift 3.0")
                 #endif
                 
-            case .generateXcodeproj(let outpath):
-                let (rootPackage, externalPackages) = try fetch(opts.path.root)
-                let (modules, externalModules, products) = try transmute(rootPackage, externalPackages: externalPackages)
-                
-                let xcodeModules = modules.flatMap { $0 as? XcodeModuleProtocol }
-                let externalXcodeModules  = externalModules.flatMap { $0 as? XcodeModuleProtocol }
-        
-                let projectName: String
-                let dstdir: String
-                let packageName = rootPackage.name
-        
-                switch outpath {
-                case let outpath? where outpath.hasSuffix(".xcodeproj"):
-                    // if user specified path ending with .xcodeproj, use that
-                    projectName = String(outpath.basename.characters.dropLast(10))
-                    dstdir = outpath.parentDirectory
-                case let outpath?:
-                    dstdir = outpath
-                    projectName = packageName
-                case _:
-                    dstdir = opts.path.root
-                    projectName = packageName
-                }
-                let outpath = try Xcodeproj.generate(dstdir: dstdir.abspath, projectName: projectName, srcroot: opts.path.root, modules: xcodeModules, externalModules: externalXcodeModules, products: products, options: opts)
-        
-                print("generated:", outpath.prettyPath)
-                
-            case .dumpPackage(let packagePath):
-                
-                let root = packagePath ?? opts.path.root
-                let manifest = try parseManifest(path: root, baseURL: root)
-                let package = manifest.package
-                let json = try jsonString(package: package)
-                print(json)
             }
         
         } catch {

        switch self {
            case .build(let conf, _): return "--configuration=\(conf)"
            case .clean(let mode): return "--clean=\(mode)"
            case .doctor: return "--doctor"
            case .showDependencies: return "--show-dependencies"
            case .generateXcodeproj: return "--generate-xcodeproj"
            case .fetch: return "--fetch"
            case .update: return "--update"
            case .Init(let mode): return "--init=\(mode)"
            case .usage: return "--help"
            case .version: return "--version"
            case .dumpPackage: return "--dump-package"
        }
    }
}

            self = try .build(Configuration(pop()), UserToolchain())
        case "--clean":
            self = try .clean(CleanMode(pop()))
        case "--help", "--usage", "-h":
            self = .usage
        case "--version":
            self = .version
        default:
            return nil
        }
