diff --git a/Package.swift b/Package.swift index d8896350..4fb96f77 100644 --- a/Package.swift +++ b/Package.swift @@ -114,6 +114,16 @@ let package = Package( ], path: "Tools/generate-docs-reference" ), + .executableTarget( + name: "generate-command-models", + dependencies: [ + .target(name: "SwiftlyCore"), + .target(name: "LinuxPlatform", condition: .when(platforms: [.linux])), + .target(name: "MacOSPlatform", condition: .when(platforms: [.macOS])), + .product(name: "ArgumentParser", package: "swift-argument-parser"), + ], + path: "Tools/generate-command-models" + ), .executableTarget( name: "build-swiftly-release", dependencies: [ diff --git a/Sources/LinuxPlatform/Linux.swift b/Sources/LinuxPlatform/Linux.swift index 6048f59e..d9992a92 100644 --- a/Sources/LinuxPlatform/Linux.swift +++ b/Sources/LinuxPlatform/Linux.swift @@ -277,9 +277,9 @@ public struct Linux: Platform { if let mockedHomeDir = ctx.mockedHomeDir { var env = ProcessInfo.processInfo.environment env["GNUPGHOME"] = (mockedHomeDir / ".gnupg").string - try await sys.gpg()._import(keys: tmpFile).run(self, env: env, quiet: true) + try await sys.gpg()._import(key: tmpFile).run(self, env: env, quiet: true) } else { - try await sys.gpg()._import(keys: tmpFile).run(self, quiet: true) + try await sys.gpg()._import(key: tmpFile).run(self, quiet: true) } } } @@ -418,9 +418,9 @@ public struct Linux: Platform { if let mockedHomeDir = ctx.mockedHomeDir { var env = ProcessInfo.processInfo.environment env["GNUPGHOME"] = (mockedHomeDir / ".gnupg").string - try await sys.gpg().verify(detachedSignature: sigFile, signedData: archive).run(self, env: env, quiet: false) + try await sys.gpg().verify(detached_signature: sigFile, signed_data: archive).run(self, env: env, quiet: false) } else { - try await sys.gpg().verify(detachedSignature: sigFile, signedData: archive).run(self, quiet: !verbose) + try await sys.gpg().verify(detached_signature: sigFile, signed_data: archive).run(self, quiet: !verbose) } } catch { throw SwiftlyError(message: "Signature verification failed: \(error).") @@ -447,9 +447,9 @@ public struct Linux: Platform { if let mockedHomeDir = ctx.mockedHomeDir { var env = ProcessInfo.processInfo.environment env["GNUPGHOME"] = (mockedHomeDir / ".gnupg").string - try await sys.gpg().verify(detachedSignature: sigFile, signedData: archive).run(self, env: env, quiet: false) + try await sys.gpg().verify(detached_signature: sigFile, signed_data: archive).run(self, env: env, quiet: false) } else { - try await sys.gpg().verify(detachedSignature: sigFile, signedData: archive).run(self, quiet: !verbose) + try await sys.gpg().verify(detached_signature: sigFile, signed_data: archive).run(self, quiet: !verbose) } } catch { throw SwiftlyError(message: "Signature verification failed: \(error).") @@ -603,7 +603,7 @@ public struct Linux: Platform { public func getShell() async throws -> String { let userName = ProcessInfo.processInfo.userName - if let entry = try await sys.getent(database: "passwd", keys: userName).entries(self).first { + if let entry = try await sys.getent(database: "passwd", key: userName).entries(self).first { if let shell = entry.last { return shell } } diff --git a/Sources/MacOSPlatform/MacOS.swift b/Sources/MacOSPlatform/MacOS.swift index dd72af1c..b752f6d6 100644 --- a/Sources/MacOSPlatform/MacOS.swift +++ b/Sources/MacOSPlatform/MacOS.swift @@ -71,7 +71,7 @@ public struct MacOS: Platform { // If the toolchains go into the default user location then we use the installer to install them await ctx.print("Installing package in user home directory...") - try await sys.installer(.verbose, pkg: tmpFile, target: "CurrentUserHomeDirectory").run(self, quiet: !verbose) + try await sys.installer(.verbose, .pkg(tmpFile), .target("CurrentUserHomeDirectory")).run(self, quiet: !verbose) } else { // Otherwise, we extract the pkg into the requested toolchains directory. await ctx.print("Expanding pkg...") @@ -84,7 +84,7 @@ public struct MacOS: Platform { await ctx.print("Checking package signature...") do { - try await sys.pkgutil().checkSignature(pkgPath: tmpFile).run(self, quiet: !verbose) + try await sys.pkgutil().checksignature(pkg_path: tmpFile).run(self, quiet: !verbose) } catch { // If this is not a test that uses mocked toolchains then we must throw this error and abort installation guard ctx.mockedHomeDir != nil else { @@ -94,7 +94,7 @@ public struct MacOS: Platform { // We permit the signature verification to fail during testing await ctx.print("Signature verification failed, which is allowable during testing with mocked toolchains") } - try await sys.pkgutil(.verbose).expand(pkgPath: tmpFile, dirPath: tmpDir).run(self, quiet: !verbose) + try await sys.pkgutil(.verbose).expand(pkg_path: tmpFile, dir_path: tmpDir).run(self, quiet: !verbose) // There's a slight difference in the location of the special Payload file between official swift packages // and the ones that are mocked here in the test framework. @@ -118,10 +118,10 @@ public struct MacOS: Platform { if ctx.mockedHomeDir == nil { await ctx.print("Extracting the swiftly package...") try await sys.installer( - pkg: archive, - target: "CurrentUserHomeDirectory" + .pkg(archive), + .target("CurrentUserHomeDirectory") ) - try? await sys.pkgutil(.volume(userHomeDir)).forget(packageId: "org.swift.swiftly").run(self) + try? await sys.pkgutil(.volume(userHomeDir)).forget(pkg_id: "org.swift.swiftly").run(self) } else { let installDir = userHomeDir / ".swiftly" try await fs.mkdir(.parents, atPath: installDir) @@ -129,7 +129,7 @@ public struct MacOS: Platform { // In the case of a mock for testing purposes we won't use the installer, perferring a manual process because // the installer will not install to an arbitrary path, only a volume or user home directory. let tmpDir = fs.mktemp() - try await sys.pkgutil().expand(pkgPath: archive, dirPath: tmpDir).run(self) + try await sys.pkgutil().expand(pkg_path: archive, dir_path: tmpDir).run(self) // There's a slight difference in the location of the special Payload file between official swift packages // and the ones that are mocked here in the test framework. @@ -162,7 +162,7 @@ public struct MacOS: Platform { try await fs.remove(atPath: toolchainDir) - try? await sys.pkgutil(.volume(fs.home)).forget(packageId: pkgInfo.CFBundleIdentifier).run(self, quiet: !verbose) + try? await sys.pkgutil(.volume(fs.home)).forget(pkg_id: pkgInfo.CFBundleIdentifier).run(self, quiet: !verbose) } public func getExecutableName() -> String { @@ -191,7 +191,7 @@ public struct MacOS: Platform { } public func getShell() async throws -> String { - for (key, value) in try await sys.dscl(datasource: ".").read(path: fs.home, keys: "UserShell").properties(self) { + for (key, value) in try await sys.dscl(datasource: ".").read(path: fs.home, key: ["UserShell"]).properties(self) { return value } diff --git a/Sources/SwiftlyCore/Commands+Runnable+Output.swift b/Sources/SwiftlyCore/Commands+Runnable+Output.swift new file mode 100644 index 00000000..618596fb --- /dev/null +++ b/Sources/SwiftlyCore/Commands+Runnable+Output.swift @@ -0,0 +1,67 @@ +import Foundation +import SystemPackage + +extension SystemCommand.dsclCommand.readCommand: Output { + public func properties(_ p: Platform) async throws -> [(key: String, value: String)] { + let output = try await self.output(p) + guard let output else { return [] } + + var props: [(key: String, value: String)] = [] + for line in output.components(separatedBy: "\n") { + if case let comps = line.components(separatedBy: ": "), comps.count == 2 { + props.append((key: comps[0], value: comps[1])) + } + } + return props + } +} + +extension SystemCommand.lipoCommand.createCommand: Runnable {} + +extension SystemCommand.pkgbuildCommand: Runnable {} + +extension SystemCommand.getentCommand: Output { + public func entries(_ platform: Platform) async throws -> [[String]] { + let output = try await output(platform) + guard let output else { return [] } + + var entries: [[String]] = [] + for line in output.components(separatedBy: "\n") { + entries.append(line.components(separatedBy: ":")) + } + return entries + } +} + +extension SystemCommand.gitCommand.logCommand: Output {} +extension SystemCommand.gitCommand.diffindexCommand: Runnable {} +extension SystemCommand.gitCommand.initCommand: Runnable {} +extension SystemCommand.gitCommand.commitCommand: Runnable {} + +extension SystemCommand.tarCommand.createCommand: Runnable {} +extension SystemCommand.tarCommand.extractCommand: Runnable {} + +extension SystemCommand.swiftCommand.packageCommand.resetCommand: Runnable {} +extension SystemCommand.swiftCommand.packageCommand.cleanCommand: Runnable {} +extension SystemCommand.swiftCommand.packageCommand.initCommand: Runnable {} +extension SystemCommand.swiftCommand.sdkCommand.installCommand: Runnable {} +extension SystemCommand.swiftCommand.sdkCommand.removeCommand: Runnable {} +extension SystemCommand.swiftCommand.buildCommand: Runnable {} + +extension SystemCommand.makeCommand: Runnable {} +extension SystemCommand.makeCommand.installCommand: Runnable {} + +extension SystemCommand.stripCommand: Runnable {} + +extension SystemCommand.sha256sumCommand: Output {} + +extension SystemCommand.productbuildCommand: Runnable {} + +extension SystemCommand.gpgCommand.importCommand: Runnable {} +extension SystemCommand.gpgCommand.verifyCommand: Runnable {} + +extension SystemCommand.pkgutilCommand.checksignatureCommand: Runnable {} +extension SystemCommand.pkgutilCommand.expandCommand: Runnable {} +extension SystemCommand.pkgutilCommand.forgetCommand: Runnable {} + +extension SystemCommand.installerCommand: Runnable {} diff --git a/Sources/SwiftlyCore/Commands.swift b/Sources/SwiftlyCore/Commands.swift index b3cb0d98..82808148 100644 --- a/Sources/SwiftlyCore/Commands.swift +++ b/Sources/SwiftlyCore/Commands.swift @@ -1,76 +1,63 @@ -import Foundation +// +// DO NOT EDIT THIS FILE: It is generated using the JSON files in this directory (based on swift-argument-parser --experimental-dump-help format). +// REGENERATE: swift run generate-command-models && swift run swiftformat Sources/SwiftlyCore/Commands*.swift +// import SystemPackage -public enum SystemCommand {} - -// This file contains a set of system commands that's used by Swiftly and its related tests and tooling - extension SystemCommand { - // Directory Service command line utility for macOS - // See dscl(1) for details - public static func dscl(executable: Executable = DsclCommand.defaultExecutable, datasource: String? = nil) -> DsclCommand { - DsclCommand(executable: executable, datasource: datasource) + // Directory Service command line utility for macOS. See dscl(1) for more information. + public static func dscl(executable: Executable = dsclCommand.defaultExecutable, datasource: String? = nil) -> dsclCommand { + dsclCommand(executable: executable, datasource: datasource) } - public struct DsclCommand { + public struct dsclCommand { public static var defaultExecutable: Executable { .name("dscl") } + public var executable: Executable + public var datasource: String? - var executable: Executable - var datasource: String? - - internal init( - executable: Executable, - datasource: String? - ) { + public init(executable: Executable, datasource: String? = nil) { self.executable = executable self.datasource = datasource } - func config() -> Configuration { - var args: [String] = [] + public func config() -> Configuration { + var genArgs: [String] = [] - if let datasource = self.datasource { - args.append(datasource) - } + if let datasource = self.datasource { genArgs += [datasource.description] } return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } - public func read(path: FilePath? = nil, keys: [String]) -> ReadCommand { - ReadCommand(dscl: self, path: path, keys: keys) - } - - public func read(path: FilePath? = nil, keys: String...) -> ReadCommand { - self.read(path: path, keys: keys) + public func read(path: FilePath? = nil, key: [String]?) -> readCommand { + readCommand(parent: self, path: path, key: key) } - public struct ReadCommand { - var dscl: DsclCommand - var path: FilePath? - var keys: [String] + public struct readCommand { + public var parent: dsclCommand + public var path: FilePath? + public var key: [String]? - internal init(dscl: DsclCommand, path: FilePath?, keys: [String]) { - self.dscl = dscl + public init(parent: dsclCommand, path: FilePath? = nil, key: [String]?) { + self.parent = parent self.path = path - self.keys = keys + self.key = key } public func config() -> Configuration { - var c = self.dscl.config() + var c = self.parent.config() - var args = c.arguments.storage.map(\.description) + ["-read"] + var genArgs = c.arguments.storage.map(\.description) - if let path = self.path { - args.append(path.string) - } + genArgs.append("-read") - args.append(contentsOf: self.keys) + if let path = self.path { genArgs += [path.description] } + if let key = self.key { genArgs += key.map(\.description) } - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } @@ -78,410 +65,256 @@ extension SystemCommand { } } -extension SystemCommand.DsclCommand.ReadCommand: Output { - public func properties(_ p: Platform) async throws -> [(key: String, value: String)] { - let output = try await self.output(p) - guard let output else { return [] } - - var props: [(key: String, value: String)] = [] - for line in output.components(separatedBy: "\n") { - if case let comps = line.components(separatedBy: ": "), comps.count == 2 { - props.append((key: comps[0], value: comps[1])) - } - } - return props - } -} - extension SystemCommand { - // Create or operate on universal files - // See lipo(1) for details - public static func lipo(executable: Executable = LipoCommand.defaultExecutable, inputFiles: FilePath...) -> LipoCommand { - Self.lipo(executable: executable, inputFiles: inputFiles) + // get entries from Name Service Switch libraries. See getent(1) for more information. + public static func getent(executable: Executable = getentCommand.defaultExecutable, database: String, key: String...) -> getentCommand { + Self.getent(executable: executable, database: database, key: key) } - // Create or operate on universal files - // See lipo(1) for details - public static func lipo(executable: Executable = LipoCommand.defaultExecutable, inputFiles: [FilePath]) -> LipoCommand { - LipoCommand(executable: executable, inputFiles: inputFiles) + // get entries from Name Service Switch libraries. See getent(1) for more information. + public static func getent(executable: Executable = getentCommand.defaultExecutable, database: String, key: [String]) -> getentCommand { + getentCommand(executable: executable, database: database, key: key) } - public struct LipoCommand { - public static var defaultExecutable: Executable { .name("lipo") } - - var executable: Executable - var inputFiles: [FilePath] + public struct getentCommand { + public static var defaultExecutable: Executable { .name("getent") } + public var executable: Executable + public var database: String + public var key: [String] - internal init(executable: Executable, inputFiles: [FilePath]) { + public init(executable: Executable, database: String, key: [String]) { self.executable = executable - self.inputFiles = inputFiles + self.database = database + self.key = key } - func config() -> Configuration { - var args: [String] = [] + public func config() -> Configuration { + var genArgs: [String] = [] - args.append(contentsOf: self.inputFiles.map(\.string)) + genArgs += [self.database.description] + genArgs += self.key.map(\.description) return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } - - public func create(output: FilePath) -> CreateCommand { - CreateCommand(self, output: output) - } - - public struct CreateCommand { - var lipo: LipoCommand - var output: FilePath - - init(_ lipo: LipoCommand, output: FilePath) { - self.lipo = lipo - self.output = output - } - - public func config() -> Configuration { - var c = self.lipo.config() - - var args = c.arguments.storage.map(\.description) + ["-create", "-output", "\(self.output)"] - - c.arguments = .init(args) - - return c - } - } } } -extension SystemCommand.LipoCommand.CreateCommand: Runnable {} - extension SystemCommand { - // Build a macOS Installer component package from on-disk files - // See pkgbuild(1) for more details - public static func pkgbuild(executable: Executable = PkgbuildCommand.defaultExecutable, _ options: PkgbuildCommand.Option..., root: FilePath, packageOutputPath: FilePath) -> PkgbuildCommand { - Self.pkgbuild(executable: executable, options: options, root: root, packageOutputPath: packageOutputPath) + // the stupid content tracker. See git(1) for more information. + public static func git(executable: Executable = gitCommand.defaultExecutable, _ options: gitCommand.Option...) -> gitCommand { + Self.git(executable: executable, options) } - // Build a macOS Installer component package from on-disk files - // See pkgbuild(1) for more details - public static func pkgbuild(executable: Executable = PkgbuildCommand.defaultExecutable, options: [PkgbuildCommand.Option], root: FilePath, packageOutputPath: FilePath) -> PkgbuildCommand { - PkgbuildCommand(executable: executable, options, root: root, packageOutputPath: packageOutputPath) + // the stupid content tracker. See git(1) for more information. + public static func git(executable: Executable = gitCommand.defaultExecutable, _ options: [gitCommand.Option]) -> gitCommand { + gitCommand(executable: executable, options) } - public struct PkgbuildCommand { - public static var defaultExecutable: Executable { .name("pkgbuild") } - - var executable: Executable - - var options: [Option] - - var root: FilePath - var packageOutputPath: FilePath - - internal init(executable: Executable, _ options: [Option], root: FilePath, packageOutputPath: FilePath) { - self.executable = executable - self.options = options - self.root = root - self.packageOutputPath = packageOutputPath - } + public struct gitCommand { + public static var defaultExecutable: Executable { .name("git") } + public var executable: Executable + public var options: [Option] public enum Option { - case installLocation(FilePath) - case version(String) - case identifier(String) - case sign(String) + case workingDir(FilePath) - func args() -> [String] { + public func args() -> [String] { switch self { - case let .installLocation(installLocation): - return ["--install-location", installLocation.string] - case let .version(version): - return ["--version", version] - case let .identifier(identifier): - return ["--identifier", identifier] - case let .sign(identityName): - return ["--sign", identityName] + case let .workingDir(workingDir): + ["-C", String(describing: workingDir)] } } } - public func config() -> Configuration { - var args: [String] = [] - - for option in self.options { - args.append(contentsOf: option.args()) - } - - args.append(contentsOf: ["--root", "\(self.root)"]) - args.append("\(self.packageOutputPath)") - - return Configuration( - executable: self.executable, - arguments: Arguments(args), - environment: .inherit - ) - } - } -} - -extension SystemCommand.PkgbuildCommand: Runnable {} - -extension SystemCommand { - // get entries from Name Service Switch libraries - // See getent(1) for more details - public static func getent(executable: Executable = GetentCommand.defaultExecutable, database: String, keys: String...) -> GetentCommand { - Self.getent(executable: executable, database: database, keys: keys) - } - - // get entries from Name Service Switch libraries - // See getent(1) for more details - public static func getent(executable: Executable = GetentCommand.defaultExecutable, database: String, keys: [String]) -> GetentCommand { - GetentCommand(executable: executable, database: database, keys: keys) - } - - public struct GetentCommand { - public static var defaultExecutable: Executable { .name("getent") } - - var executable: Executable - - var database: String - - var keys: [String] - - internal init( - executable: Executable, - database: String, - keys: [String] - ) { + public init(executable: Executable, _ options: [gitCommand.Option]) { self.executable = executable - self.database = database - self.keys = keys + self.options = options } public func config() -> Configuration { - var args: [String] = [] - - args.append(self.database) - args.append(contentsOf: self.keys) - - return Configuration( - executable: self.executable, - arguments: Arguments(args), - environment: .inherit - ) - } - } -} - -extension SystemCommand.GetentCommand: Output { - public func entries(_ platform: Platform) async throws -> [[String]] { - let output = try await output(platform) - guard let output else { return [] } - - var entries: [[String]] = [] - for line in output.components(separatedBy: "\n") { - entries.append(line.components(separatedBy: ":")) - } - return entries - } -} - -extension SystemCommand { - // the stupid content tracker - // See git(1) for more information. - public static func git(executable: Executable = GitCommand.defaultExecutable, workingDir: FilePath? = nil) -> GitCommand { - GitCommand(executable: executable, workingDir: workingDir) - } - - public struct GitCommand { - public static var defaultExecutable: Executable { .name("git") } - - var executable: Executable - - var workingDir: FilePath? - - internal init(executable: Executable, workingDir: FilePath?) { - self.executable = executable - self.workingDir = workingDir - } + var genArgs: [String] = [] - func config() -> Configuration { - var args: [String] = [] - - if let workingDir { - args.append(contentsOf: ["-C", "\(workingDir)"]) + for opt in self.options { + genArgs.append(contentsOf: opt.args()) } return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } - public func _init() -> InitCommand { - InitCommand(self) + public func _init() -> initCommand { + initCommand(parent: self) } - public struct InitCommand { - var git: GitCommand + public struct initCommand { + public var parent: gitCommand - internal init(_ git: GitCommand) { - self.git = git + public init(parent: gitCommand) { + self.parent = parent } public func config() -> Configuration { - var c = self.git.config() + var c = self.parent.config() - var args = c.arguments.storage.map(\.description) + var genArgs = c.arguments.storage.map(\.description) - args.append("init") + genArgs.append("init") - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } } - public func commit(_ options: CommitCommand.Option...) -> CommitCommand { - self.commit(options: options) + public func commit(_ options: commitCommand.Option...) -> commitCommand { + self.commit(options) } - public func commit(options: [CommitCommand.Option]) -> CommitCommand { - CommitCommand(self, options: options) + public func commit(_ options: [commitCommand.Option]) -> commitCommand { + commitCommand(parent: self, options) } - public struct CommitCommand { - var git: GitCommand - - var options: [Option] - - internal init(_ git: GitCommand, options: [Option]) { - self.git = git - self.options = options - } + public struct commitCommand { + public var parent: gitCommand + public var options: [Option] public enum Option { - case allowEmpty - case allowEmptyMessage + case allow_empty + case allow_empty_message case message(String) public func args() -> [String] { switch self { - case .allowEmpty: + case .allow_empty: ["--allow-empty"] - case .allowEmptyMessage: + case .allow_empty_message: ["--allow-empty-message"] case let .message(message): - ["-m", message] + ["--message", String(describing: message)] } } } + public init(parent: gitCommand, _ options: [commitCommand.Option]) { + self.parent = parent + self.options = options + } + public func config() -> Configuration { - var c = self.git.config() + var c = self.parent.config() - var args = c.arguments.storage.map(\.description) + var genArgs = c.arguments.storage.map(\.description) - args.append("commit") - for option in self.options { - args.append(contentsOf: option.args()) + genArgs.append("commit") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) } - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } } - public func log(_ options: LogCommand.Option...) -> LogCommand { - LogCommand(self, options) + public func log(_ options: logCommand.Option...) -> logCommand { + self.log(options) } - public struct LogCommand { - var git: GitCommand - var options: [Option] + public func log(_ options: [logCommand.Option]) -> logCommand { + logCommand(parent: self, options) + } - internal init(_ git: GitCommand, _ options: [Option]) { - self.git = git - self.options = options - } + public struct logCommand { + public var parent: gitCommand + public var options: [Option] public enum Option { - case maxCount(Int) + case max_count(String) case pretty(String) - func args() -> [String] { + public func args() -> [String] { switch self { - case let .maxCount(num): - return ["--max-count=\(num)"] - case let .pretty(format): - return ["--pretty=\(format)"] + case let .max_count(max_count): + ["--max-count", String(describing: max_count)] + case let .pretty(pretty): + ["--pretty", String(describing: pretty)] } } } + public init(parent: gitCommand, _ options: [logCommand.Option]) { + self.parent = parent + self.options = options + } + public func config() -> Configuration { - var c = self.git.config() + var c = self.parent.config() - var args = c.arguments.storage.map(\.description) + var genArgs = c.arguments.storage.map(\.description) - args.append("log") + genArgs.append("log") for opt in self.options { - args.append(contentsOf: opt.args()) + genArgs.append(contentsOf: opt.args()) } - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } } - public func diffIndex(_ options: DiffIndexCommand.Option..., treeIsh: String?) -> DiffIndexCommand { - DiffIndexCommand(self, options, treeIsh: treeIsh) + public func diffindex(_ options: diffindexCommand.Option..., tree_ish: String) -> diffindexCommand { + self.diffindex(options, tree_ish: tree_ish) } - public struct DiffIndexCommand { - var git: GitCommand - var options: [Option] - var treeIsh: String? + public func diffindex(_ options: [diffindexCommand.Option], tree_ish: String) -> diffindexCommand { + diffindexCommand(parent: self, options, tree_ish: tree_ish) + } - internal init(_ git: GitCommand, _ options: [Option], treeIsh: String?) { - self.git = git - self.options = options - self.treeIsh = treeIsh - } + public struct diffindexCommand { + public var parent: gitCommand + public var options: [Option] + public var tree_ish: String public enum Option { case quiet - func args() -> [String] { + public func args() -> [String] { switch self { case .quiet: - return ["--quiet"] + ["--quiet"] } } } + public init(parent: gitCommand, _ options: [diffindexCommand.Option], tree_ish: String) { + self.parent = parent + self.options = options + self.tree_ish = tree_ish + } + public func config() -> Configuration { - var c = self.git.config() + var c = self.parent.config() - var args = c.arguments.storage.map(\.description) + var genArgs = c.arguments.storage.map(\.description) - args.append("diff-index") + genArgs.append("diff-index") for opt in self.options { - args.append(contentsOf: opt.args()) - } - - if let treeIsh = self.treeIsh { - args.append(treeIsh) + genArgs.append(contentsOf: opt.args()) } + genArgs += [self.tree_ish.description] - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } @@ -489,165 +322,88 @@ extension SystemCommand { } } -extension SystemCommand.GitCommand.LogCommand: Output {} -extension SystemCommand.GitCommand.DiffIndexCommand: Runnable {} -extension SystemCommand.GitCommand.InitCommand: Runnable {} -extension SystemCommand.GitCommand.CommitCommand: Runnable {} - extension SystemCommand { - // manipulate tape archives - // See tar(1) for more details - public static func tar(executable: Executable = TarCommand.defaultExecutable, _ options: TarCommand.Option...) -> TarCommand { - Self.tar(executable: executable, options) - } - - // manipulate tape archives - // See tar(1) for more details - public static func tar(executable: Executable = TarCommand.defaultExecutable, _ options: [TarCommand.Option]) -> TarCommand { - TarCommand(executable: executable, options) + // OpenPGP encryption and signing tool. See gpg(1) for more information. + public static func gpg(executable: Executable = gpgCommand.defaultExecutable) -> gpgCommand { + gpgCommand(executable: executable) } - public struct TarCommand { - public static var defaultExecutable: Executable { .name("tar") } - - var executable: Executable - - var options: [Option] + public struct gpgCommand { + public static var defaultExecutable: Executable { .name("gpg") } + public var executable: Executable - public init(executable: Executable, _ options: [Option]) { + public init(executable: Executable) { self.executable = executable - self.options = options - } - - public enum Option { - case directory(FilePath) - - public func args() -> [String] { - switch self { - case let .directory(directory): - return ["-C", "\(directory)"] // This is the only portable form between macOS and GNU - } - } } - func config() -> Configuration { - var args: [String] = [] - - for opt in self.options { - args.append(contentsOf: opt.args()) - } + public func config() -> Configuration { + var genArgs: [String] = [] return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } - public func create(_ options: CreateCommand.Option...) -> CreateCommand { - self.create(options, files: []) - } - - public func create(_ options: CreateCommand.Option..., files: FilePath...) -> CreateCommand { - self.create(options, files: files) + public func _import(key: FilePath...) -> importCommand { + self._import(key: key) } - public func create(_ options: [CreateCommand.Option], files: [FilePath]) -> CreateCommand { - CreateCommand(self, options, files: files) + public func _import(key: [FilePath]) -> importCommand { + importCommand(parent: self, key: key) } - public struct CreateCommand { - var tar: TarCommand + public struct importCommand { + public var parent: gpgCommand + public var key: [FilePath] - var options: [Option] - - var files: [FilePath] - - init(_ tar: TarCommand, _ options: [Option], files: [FilePath]) { - self.tar = tar - self.options = options - self.files = files - } - - public enum Option { - case archive(FilePath) - case compressed - case verbose - - func args() -> [String] { - switch self { - case let .archive(archive): - return ["--file", "\(archive)"] - case .compressed: - return ["-z"] - case .verbose: - return ["-v"] - } - } + public init(parent: gpgCommand, key: [FilePath]) { + self.parent = parent + self.key = key } public func config() -> Configuration { - var c = self.tar.config() - - var args = c.arguments.storage.map(\.description) + var c = self.parent.config() - args.append("-c") + var genArgs = c.arguments.storage.map(\.description) - for opt in self.options { - args.append(contentsOf: opt.args()) - } + genArgs.append("--import") - args.append(contentsOf: self.files.map(\.string)) + genArgs += self.key.map(\.description) - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } } - public func extract(_ options: ExtractCommand.Option...) -> ExtractCommand { - ExtractCommand(self, options) + public func verify(detached_signature: FilePath? = nil, signed_data: FilePath? = nil) -> verifyCommand { + verifyCommand(parent: self, detached_signature: detached_signature, signed_data: signed_data) } - public struct ExtractCommand { - var tar: TarCommand - - var options: [Option] - - init(_ tar: TarCommand, _ options: [Option]) { - self.tar = tar - self.options = options - } - - public enum Option { - case archive(FilePath) - case compressed - case verbose + public struct verifyCommand { + public var parent: gpgCommand + public var detached_signature: FilePath? + public var signed_data: FilePath? - func args() -> [String] { - switch self { - case let .archive(archive): - return ["--file", "\(archive)"] - case .compressed: - return ["-z"] - case .verbose: - return ["-v"] - } - } + public init(parent: gpgCommand, detached_signature: FilePath? = nil, signed_data: FilePath? = nil) { + self.parent = parent + self.detached_signature = detached_signature + self.signed_data = signed_data } public func config() -> Configuration { - var c = self.tar.config() + var c = self.parent.config() - var args = c.arguments.storage.map(\.description) + var genArgs = c.arguments.storage.map(\.description) - args.append("-x") + genArgs.append("--verify") - for opt in self.options { - args.append(contentsOf: opt.args()) - } + if let detached_signature = self.detached_signature { genArgs += [detached_signature.description] } + if let signed_data = self.signed_data { genArgs += [signed_data.description] } - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } @@ -655,455 +411,548 @@ extension SystemCommand { } } -extension SystemCommand.TarCommand.CreateCommand: Runnable {} -extension SystemCommand.TarCommand.ExtractCommand: Runnable {} - extension SystemCommand { - public static func swift(executable: Executable = SwiftCommand.defaultExecutable) -> SwiftCommand { - SwiftCommand(executable: executable) + // system software and package installer tool. See installer(1) for more information. + public static func installer(executable: Executable = installerCommand.defaultExecutable, _ options: installerCommand.Option...) -> installerCommand { + Self.installer(executable: executable, options) } - public struct SwiftCommand { - public static var defaultExecutable: Executable { .name("swift") } + // system software and package installer tool. See installer(1) for more information. + public static func installer(executable: Executable = installerCommand.defaultExecutable, _ options: [installerCommand.Option]) -> installerCommand { + installerCommand(executable: executable, options) + } + public struct installerCommand { + public static var defaultExecutable: Executable { .name("installer") } public var executable: Executable + public var options: [Option] - public init(executable: Executable) { + public enum Option { + case verbose + case pkg(FilePath) + case target(String) + + public func args() -> [String] { + switch self { + case .verbose: + ["-verbose"] + case let .pkg(pkg): + ["-pkg", String(describing: pkg)] + case let .target(target): + ["-target", String(describing: target)] + } + } + } + + public init(executable: Executable, _ options: [installerCommand.Option]) { self.executable = executable + self.options = options } - func config() -> Configuration { - var args: [String] = [] + public func config() -> Configuration { + var genArgs: [String] = [] + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } + } +} - public func package() -> PackageCommand { - PackageCommand(self) - } +extension SystemCommand { + // Create or operate on universal files. See lipo(1) for more information. + public static func lipo(executable: Executable = lipoCommand.defaultExecutable, input_file: FilePath...) -> lipoCommand { + Self.lipo(executable: executable, input_file: input_file) + } - public struct PackageCommand { - var swift: SwiftCommand + // Create or operate on universal files. See lipo(1) for more information. + public static func lipo(executable: Executable = lipoCommand.defaultExecutable, input_file: [FilePath]) -> lipoCommand { + lipoCommand(executable: executable, input_file: input_file) + } - init(_ swift: SwiftCommand) { - self.swift = swift - } + public struct lipoCommand { + public static var defaultExecutable: Executable { .name("lipo") } + public var executable: Executable + public var input_file: [FilePath] - public func config() -> Configuration { - var c = self.swift.config() + public init(executable: Executable, input_file: [FilePath]) { + self.executable = executable + self.input_file = input_file + } - var args = c.arguments.storage.map(\.description) + public func config() -> Configuration { + var genArgs: [String] = [] - args.append("package") + genArgs += self.input_file.map(\.description) - c.arguments = .init(args) + return Configuration( + executable: self.executable, + arguments: Arguments(genArgs), + environment: .inherit + ) + } - return c - } + public func create(_ options: createCommand.Option...) -> createCommand { + self.create(options) + } - public func reset() -> ResetCommand { - ResetCommand(self) - } + public func create(_ options: [createCommand.Option]) -> createCommand { + createCommand(parent: self, options) + } + + public struct createCommand { + public var parent: lipoCommand + public var options: [Option] - public struct ResetCommand { - var packageCommand: PackageCommand + public enum Option { + case output(FilePath) - init(_ packageCommand: PackageCommand) { - self.packageCommand = packageCommand + public func args() -> [String] { + switch self { + case let .output(output): + ["-output", String(describing: output)] + } } + } - public func config() -> Configuration { - var c = self.packageCommand.config() + public init(parent: lipoCommand, _ options: [createCommand.Option]) { + self.parent = parent + self.options = options + } - var args = c.arguments.storage.map(\.description) + public func config() -> Configuration { + var c = self.parent.config() - args.append("reset") + var genArgs = c.arguments.storage.map(\.description) - c.arguments = .init(args) + genArgs.append("-create") - return c + for opt in self.options { + genArgs.append(contentsOf: opt.args()) } - } - public func clean() -> CleanCommand { - CleanCommand(self) - } + c.arguments = .init(genArgs) - public struct CleanCommand { - var packageCommand: PackageCommand + return c + } + } + } +} - init(_ packageCommand: PackageCommand) { - self.packageCommand = packageCommand - } +extension SystemCommand { + // make utility to maintain groups of programs. See make(1) for more information. + public static func make(executable: Executable = makeCommand.defaultExecutable) -> makeCommand { + makeCommand(executable: executable) + } - public func config() -> Configuration { - var c = self.packageCommand.config() + public struct makeCommand { + public static var defaultExecutable: Executable { .name("make") } + public var executable: Executable - var args = c.arguments.storage.map(\.description) + public init(executable: Executable) { + self.executable = executable + } - args.append("clean") + public func config() -> Configuration { + var genArgs: [String] = [] - c.arguments = .init(args) + return Configuration( + executable: self.executable, + arguments: Arguments(genArgs), + environment: .inherit + ) + } - return c - } - } + public func install() -> installCommand { + installCommand(parent: self) + } - public func _init(_ options: InitCommand.Option...) -> InitCommand { - self._init(options: options) - } + public struct installCommand { + public var parent: makeCommand - public func _init(options: [InitCommand.Option]) -> InitCommand { - InitCommand(self, options) + public init(parent: makeCommand) { + self.parent = parent } - public struct InitCommand { - var packageCommand: PackageCommand - - var options: [Option] + public func config() -> Configuration { + var c = self.parent.config() - public enum Option { - case type(String) - case packagePath(FilePath) + var genArgs = c.arguments.storage.map(\.description) - func args() -> [String] { - switch self { - case let .type(type): - return ["--type=\(type)"] - case let .packagePath(packagePath): - return ["--package-path=\(packagePath)"] - } - } - } + genArgs.append("install") - init(_ packageCommand: PackageCommand, _ options: [Option]) { - self.packageCommand = packageCommand - self.options = options - } + c.arguments = .init(genArgs) - public func config() -> Configuration { - var c = self.packageCommand.config() + return c + } + } + } +} - var args = c.arguments.storage.map(\.description) +extension SystemCommand { + // Build a macOS Installer component package from on-disk files. See pkgbuild(1) for more information. + public static func pkgbuild(executable: Executable = pkgbuildCommand.defaultExecutable, _ options: pkgbuildCommand.Option..., package_output_path: FilePath) -> pkgbuildCommand { + Self.pkgbuild(executable: executable, options, package_output_path: package_output_path) + } - args.append("init") + // Build a macOS Installer component package from on-disk files. See pkgbuild(1) for more information. + public static func pkgbuild(executable: Executable = pkgbuildCommand.defaultExecutable, _ options: [pkgbuildCommand.Option], package_output_path: FilePath) -> pkgbuildCommand { + pkgbuildCommand(executable: executable, options, package_output_path: package_output_path) + } - for opt in self.options { - args.append(contentsOf: opt.args()) - } + public struct pkgbuildCommand { + public static var defaultExecutable: Executable { .name("pkgbuild") } + public var executable: Executable + public var options: [Option] + public var package_output_path: FilePath - c.arguments = .init(args) + public enum Option { + case sign(String) + case identifier(String) + case version(String) + case install_location(FilePath) + case root(FilePath) - return c + public func args() -> [String] { + switch self { + case let .sign(sign): + ["--sign", String(describing: sign)] + case let .identifier(identifier): + ["--identifier", String(describing: identifier)] + case let .version(version): + ["--version", String(describing: version)] + case let .install_location(install_location): + ["--install-location", String(describing: install_location)] + case let .root(root): + ["--root", String(describing: root)] } } } - public func sdk() -> SdkCommand { - SdkCommand(self) + public init(executable: Executable, _ options: [pkgbuildCommand.Option], package_output_path: FilePath) { + self.executable = executable + self.options = options + self.package_output_path = package_output_path } - public struct SdkCommand { - var swift: SwiftCommand + public func config() -> Configuration { + var genArgs: [String] = [] - init(_ swift: SwiftCommand) { - self.swift = swift + for opt in self.options { + genArgs.append(contentsOf: opt.args()) } + genArgs += [self.package_output_path.description] - public func config() -> Configuration { - var c = self.swift.config() + return Configuration( + executable: self.executable, + arguments: Arguments(genArgs), + environment: .inherit + ) + } + } +} - var args = c.arguments.storage.map(\.description) +extension SystemCommand { + // Query and manipulate macOS Installer packages and receipts. See pkgutil(1) for more information. + public static func pkgutil(executable: Executable = pkgutilCommand.defaultExecutable, _ options: pkgutilCommand.Option...) -> pkgutilCommand { + Self.pkgutil(executable: executable, options) + } - args.append("sdk") + // Query and manipulate macOS Installer packages and receipts. See pkgutil(1) for more information. + public static func pkgutil(executable: Executable = pkgutilCommand.defaultExecutable, _ options: [pkgutilCommand.Option]) -> pkgutilCommand { + pkgutilCommand(executable: executable, options) + } - c.arguments = .init(args) + public struct pkgutilCommand { + public static var defaultExecutable: Executable { .name("pkgutil") } + public var executable: Executable + public var options: [Option] - return c + public enum Option { + case verbose + case volume(FilePath) + + public func args() -> [String] { + switch self { + case .verbose: + ["--verbose"] + case let .volume(volume): + ["--volume", String(describing: volume)] + } } + } + + public init(executable: Executable, _ options: [pkgutilCommand.Option]) { + self.executable = executable + self.options = options + } + + public func config() -> Configuration { + var genArgs: [String] = [] - public func install(_ bundlePathOrUrl: String, checksum: String? = nil) -> InstallCommand { - InstallCommand(self, bundlePathOrUrl, checksum: checksum) + for opt in self.options { + genArgs.append(contentsOf: opt.args()) } - public struct InstallCommand { - var sdkCommand: SdkCommand - var bundlePathOrUrl: String - var checksum: String? + return Configuration( + executable: self.executable, + arguments: Arguments(genArgs), + environment: .inherit + ) + } - init(_ sdkCommand: SdkCommand, _ bundlePathOrUrl: String, checksum: String?) { - self.sdkCommand = sdkCommand - self.bundlePathOrUrl = bundlePathOrUrl - self.checksum = checksum - } + public func checksignature(pkg_path: FilePath) -> checksignatureCommand { + checksignatureCommand(parent: self, pkg_path: pkg_path) + } - public func config() -> Configuration { - var c = self.sdkCommand.config() + public struct checksignatureCommand { + public var parent: pkgutilCommand + public var pkg_path: FilePath - var args = c.arguments.storage.map(\.description) + public init(parent: pkgutilCommand, pkg_path: FilePath) { + self.parent = parent + self.pkg_path = pkg_path + } - args.append("install") + public func config() -> Configuration { + var c = self.parent.config() - args.append(self.bundlePathOrUrl) + var genArgs = c.arguments.storage.map(\.description) - if let checksum = self.checksum { - args.append("--checksum=\(checksum)") - } + genArgs.append("--check-signature") - c.arguments = .init(args) + genArgs += [self.pkg_path.description] - return c - } - } + c.arguments = .init(genArgs) - public func remove(_ sdkIdOrBundleName: String) -> RemoveCommand { - RemoveCommand(self, sdkIdOrBundleName) + return c } + } - public struct RemoveCommand { - var sdkCommand: SdkCommand - var sdkIdOrBundleName: String + public func expand(pkg_path: FilePath, dir_path: FilePath) -> expandCommand { + expandCommand(parent: self, pkg_path: pkg_path, dir_path: dir_path) + } - init(_ sdkCommand: SdkCommand, _ sdkIdOrBundleName: String) { - self.sdkCommand = sdkCommand - self.sdkIdOrBundleName = sdkIdOrBundleName - } + public struct expandCommand { + public var parent: pkgutilCommand + public var pkg_path: FilePath + public var dir_path: FilePath - public func config() -> Configuration { - var c = self.sdkCommand.config() + public init(parent: pkgutilCommand, pkg_path: FilePath, dir_path: FilePath) { + self.parent = parent + self.pkg_path = pkg_path + self.dir_path = dir_path + } - var args = c.arguments.storage.map(\.description) + public func config() -> Configuration { + var c = self.parent.config() - args.append("remove") + var genArgs = c.arguments.storage.map(\.description) - args.append(self.sdkIdOrBundleName) + genArgs.append("--expand") - c.arguments = .init(args) + genArgs += [self.pkg_path.description] + genArgs += [self.dir_path.description] - return c - } + c.arguments = .init(genArgs) + + return c } } - public func build(_ options: BuildCommand.Option...) -> BuildCommand { - BuildCommand(self, options) + public func forget(pkg_id: String) -> forgetCommand { + forgetCommand(parent: self, pkg_id: pkg_id) } - public struct BuildCommand { - var swift: SwiftCommand - var options: [Option] + public struct forgetCommand { + public var parent: pkgutilCommand + public var pkg_id: String - init(_ swift: SwiftCommand, _ options: [Option]) { - self.swift = swift - self.options = options + public init(parent: pkgutilCommand, pkg_id: String) { + self.parent = parent + self.pkg_id = pkg_id } public func config() -> Configuration { - var c = self.swift.config() + var c = self.parent.config() - var args = c.arguments.storage.map(\.description) + var genArgs = c.arguments.storage.map(\.description) - args.append("build") + genArgs.append("--forget") - for opt in self.options { - args.append(contentsOf: opt.args()) - } + genArgs += [self.pkg_id.description] - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } - - public enum Option { - case arch(String) - case configuration(String) - case packagePath(FilePath) - case pkgConfigPath(FilePath) - case product(String) - case swiftSdk(String) - case staticSwiftStdlib - - func args() -> [String] { - switch self { - case let .arch(arch): - return ["--arch=\(arch)"] - case let .configuration(configuration): - return ["--configuration=\(configuration)"] - case let .packagePath(packagePath): - return ["--package-path=\(packagePath)"] - case let .pkgConfigPath(pkgConfigPath): - return ["--pkg-config-path=\(pkgConfigPath)"] - case let .swiftSdk(sdk): - return ["--swift-sdk=\(sdk)"] - case .staticSwiftStdlib: - return ["--static-swift-stdlib"] - case let .product(product): - return ["--product=\(product)"] - } - } - } } } } -extension SystemCommand.SwiftCommand.PackageCommand.ResetCommand: Runnable {} -extension SystemCommand.SwiftCommand.PackageCommand.CleanCommand: Runnable {} -extension SystemCommand.SwiftCommand.PackageCommand.InitCommand: Runnable {} -extension SystemCommand.SwiftCommand.SdkCommand.InstallCommand: Runnable {} -extension SystemCommand.SwiftCommand.SdkCommand.RemoveCommand: Runnable {} -extension SystemCommand.SwiftCommand.BuildCommand: Runnable {} - extension SystemCommand { - // make utility to maintain groups of programs - // See make(1) for more information. - public static func make(executable: Executable = MakeCommand.defaultExecutable) -> MakeCommand { - MakeCommand(executable: executable) + // Build a product archive for the macOS Installer or the Mac App Store. See productbuild(1) for more information. + public static func productbuild(executable: Executable = productbuildCommand.defaultExecutable, _ options: productbuildCommand.Option..., output_path: FilePath) -> productbuildCommand { + Self.productbuild(executable: executable, options, output_path: output_path) } - public struct MakeCommand { - public static var defaultExecutable: Executable { .name("make") } + // Build a product archive for the macOS Installer or the Mac App Store. See productbuild(1) for more information. + public static func productbuild(executable: Executable = productbuildCommand.defaultExecutable, _ options: [productbuildCommand.Option], output_path: FilePath) -> productbuildCommand { + productbuildCommand(executable: executable, options, output_path: output_path) + } + public struct productbuildCommand { + public static var defaultExecutable: Executable { .name("productbuild") } public var executable: Executable + public var options: [Option] + public var output_path: FilePath - public init(executable: Executable) { + public enum Option { + case synthesize + case dist_path(FilePath) + case pkg_path(FilePath) + case search_path(FilePath) + case cert(String) + + public func args() -> [String] { + switch self { + case .synthesize: + ["--synthesize"] + case let .dist_path(dist_path): + ["--distribution", String(describing: dist_path)] + case let .pkg_path(pkg_path): + ["--package", String(describing: pkg_path)] + case let .search_path(search_path): + ["--package-path", String(describing: search_path)] + case let .cert(cert): + ["--sign", String(describing: cert)] + } + } + } + + public init(executable: Executable, _ options: [productbuildCommand.Option], output_path: FilePath) { self.executable = executable + self.options = options + self.output_path = output_path } public func config() -> Configuration { - var args: [String] = [] + var genArgs: [String] = [] + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.output_path.description] return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } - - public func install() -> InstallCommand { - InstallCommand(self) - } - - public struct InstallCommand { - var make: MakeCommand - - init(_ make: MakeCommand) { - self.make = make - } - - public func config() -> Configuration { - var c = self.make.config() - - var args = c.arguments.storage.map(\.description) - - args.append("install") - - c.arguments = .init(args) - - return c - } - } } } -extension SystemCommand.MakeCommand: Runnable {} -extension SystemCommand.MakeCommand.InstallCommand: Runnable {} - extension SystemCommand { - // remove symbols - // See strip(1) for more information. - public static func strip(executable: Executable = StripCommand.defaultExecutable, names: FilePath...) -> StripCommand { - self.strip(executable: executable, names: names) + // calculate a message-digest fingerprint (checksum) for a file. See sha256sum(1) for more information. + public static func sha256sum(executable: Executable = sha256sumCommand.defaultExecutable, _ options: sha256sumCommand.Option..., files: FilePath...) -> sha256sumCommand { + Self.sha256sum(executable: executable, options, files: files) } - // remove symbols - // See strip(1) for more information. - public static func strip(executable: Executable = StripCommand.defaultExecutable, names: [FilePath]) -> StripCommand { - StripCommand(executable: executable, names: names) + // calculate a message-digest fingerprint (checksum) for a file. See sha256sum(1) for more information. + public static func sha256sum(executable: Executable = sha256sumCommand.defaultExecutable, _ options: [sha256sumCommand.Option], files: [FilePath]) -> sha256sumCommand { + sha256sumCommand(executable: executable, options, files: files) } - public struct StripCommand { - public static var defaultExecutable: Executable { .name("strip") } - + public struct sha256sumCommand { + public static var defaultExecutable: Executable { .name("sha256sum") } public var executable: Executable + public var options: [Option] + public var files: [FilePath] + + public enum Option { + case verbose - public var names: [FilePath] + public func args() -> [String] { + switch self { + case .verbose: + ["--verbose"] + } + } + } - public init(executable: Executable, names: [FilePath]) { + public init(executable: Executable, _ options: [sha256sumCommand.Option], files: [FilePath]) { self.executable = executable - self.names = names + self.options = options + self.files = files } public func config() -> Configuration { - var args: [String] = [] + var genArgs: [String] = [] - args.append(contentsOf: self.names.map(\.string)) + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += self.files.map(\.description) return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } } } -extension SystemCommand.StripCommand: Runnable {} - extension SystemCommand { - // calculate a message-digest fingerprint (checksum) for a file - // See sha256sum(1) for more information. - public static func sha256sum(executable: Executable = Sha256SumCommand.defaultExecutable, files: FilePath...) -> Sha256SumCommand { - self.sha256sum(executable: executable, files: files) + // remove symbols. See strip(1) for more information. + public static func strip(executable: Executable = stripCommand.defaultExecutable, name: FilePath...) -> stripCommand { + Self.strip(executable: executable, name: name) } - // calculate a message-digest fingerprint (checksum) for a file - // See sha256sum(1) for more information. - public static func sha256sum(executable: Executable, files: [FilePath]) -> Sha256SumCommand { - Sha256SumCommand(executable: executable, files: files) + // remove symbols. See strip(1) for more information. + public static func strip(executable: Executable = stripCommand.defaultExecutable, name: [FilePath]) -> stripCommand { + stripCommand(executable: executable, name: name) } - public struct Sha256SumCommand { - public static var defaultExecutable: Executable { .name("sha256sum") } - + public struct stripCommand { + public static var defaultExecutable: Executable { .name("strip") } public var executable: Executable + public var name: [FilePath] - public var files: [FilePath] - - public init(executable: Executable, files: [FilePath]) { + public init(executable: Executable, name: [FilePath]) { self.executable = executable - self.files = files + self.name = name } public func config() -> Configuration { - var args: [String] = [] + var genArgs: [String] = [] - args.append(contentsOf: self.files.map(\.string)) + genArgs += self.name.map(\.description) return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } } } -extension SystemCommand.Sha256SumCommand: Output {} - extension SystemCommand { - // Build a product archive for the macOS Installer or the Mac App Store. - // See productbuild(1) for more information. - public static func productbuild(executable: Executable = ProductBuildCommand.defaultExecutable) -> ProductBuildCommand { - ProductBuildCommand(executable: executable) + // Swift compiler + public static func swift(executable: Executable = swiftCommand.defaultExecutable) -> swiftCommand { + swiftCommand(executable: executable) } - public struct ProductBuildCommand { - public static var defaultExecutable: Executable { .name("productbuild") } - + public struct swiftCommand { + public static var defaultExecutable: Executable { .name("swift") } public var executable: Executable public init(executable: Executable) { @@ -1111,419 +960,10241 @@ extension SystemCommand { } public func config() -> Configuration { - var args: [String] = [] + var genArgs: [String] = [] return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } - public func synthesize(package: FilePath, distributionOutputPath: FilePath) -> SynthesizeCommand { - SynthesizeCommand(self, package: package, distributionOutputPath: distributionOutputPath) + // Build sources into binary products + public func build(_ options: buildCommand.Option...) -> buildCommand { + self.build(options) + } + + // Build sources into binary products + public func build(_ options: [buildCommand.Option]) -> buildCommand { + buildCommand(parent: self, options) } - public struct SynthesizeCommand { - public var productBuildCommand: ProductBuildCommand + public struct buildCommand { + public var parent: swiftCommand + public var options: [Option] - public var package: FilePath + public enum Option { + case package_path(FilePath) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(FilePath) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case build_tests + case enable_code_coverage + case show_bin_path + case print_manifest_job_graph + case target(String) + case product(String) + case enable_xctest + case enable_swift_testing + case enable_experimental_swift_testing + case traits(String) + case enable_all_traits + case disable_default_traits + case static_swift_stdlib + case version + case help - public var distributionOutputPath: FilePath + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .build_tests: + ["--build-tests"] + case .enable_code_coverage: + ["--enable-code-coverage"] + case .show_bin_path: + ["--show-bin-path"] + case .print_manifest_job_graph: + ["--print-manifest-job-graph"] + case let .target(target): + ["--target", String(describing: target)] + case let .product(product): + ["--product", String(describing: product)] + case .enable_xctest: + ["--enable-xctest"] + case .enable_swift_testing: + ["--enable-swift-testing"] + case .enable_experimental_swift_testing: + ["--enable-experimental-swift-testing"] + case let .traits(traits): + ["--traits", String(describing: traits)] + case .enable_all_traits: + ["--enable-all-traits"] + case .disable_default_traits: + ["--disable-default-traits"] + case .static_swift_stdlib: + ["--static-swift-stdlib"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - public init(_ productBuildCommand: ProductBuildCommand, package: FilePath, distributionOutputPath: FilePath) { - self.productBuildCommand = productBuildCommand - self.package = package - self.distributionOutputPath = distributionOutputPath + public init(parent: swiftCommand, _ options: [buildCommand.Option]) { + self.parent = parent + self.options = options } public func config() -> Configuration { - var c = self.productBuildCommand.config() + var c = self.parent.config() - var args = c.arguments.storage.map(\.description) + var genArgs = c.arguments.storage.map(\.description) - args.append("--synthesize") + genArgs.append("build") - args.append(contentsOf: ["--package", "\(self.package)"]) - args.append("\(self.distributionOutputPath)") + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } } - public func distribution(_ options: DistributionCommand.Option..., distPath: FilePath, productOutputPath: FilePath) -> DistributionCommand { - self.distribution(options, distPath: distPath, productOutputPath: productOutputPath) + // Perform operations on Swift packages + public func package(_ options: packageCommand.Option...) -> packageCommand { + self.package(options) } - public func distribution(_ options: [DistributionCommand.Option], distPath: FilePath, productOutputPath: FilePath) -> DistributionCommand { - DistributionCommand(self, options, distPath: distPath, productOutputPath: productOutputPath) + // Perform operations on Swift packages + public func package(_ options: [packageCommand.Option]) -> packageCommand { + packageCommand(parent: self, options) } - public struct DistributionCommand { - public var productBuildCommand: ProductBuildCommand - + public struct packageCommand { + public var parent: swiftCommand public var options: [Option] - public var distPath: FilePath - - public var productOutputPath: FilePath - public enum Option { - case packagePath(FilePath) - case sign(String) + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help public func args() -> [String] { switch self { - case let .packagePath(packagePath): - ["--package-path", "\(packagePath)"] - case let .sign(sign): - ["--sign", "\(sign)"] + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] } } } - public init(_ productBuildCommand: ProductBuildCommand, _ options: [Option], distPath: FilePath, productOutputPath: FilePath) { - self.productBuildCommand = productBuildCommand + public init(parent: swiftCommand, _ options: [packageCommand.Option]) { + self.parent = parent self.options = options - self.distPath = distPath - self.productOutputPath = productOutputPath } public func config() -> Configuration { - var c = self.productBuildCommand.config() - - var args = c.arguments.storage.map(\.description) + var c = self.parent.config() - args.append("--distribution") + var genArgs = c.arguments.storage.map(\.description) - args.append("\(self.distPath)") + genArgs.append("package") for opt in self.options { - args.append(contentsOf: opt.args()) + genArgs.append(contentsOf: opt.args()) } - args.append("\(self.productOutputPath)") - - c.arguments = .init(args) + c.arguments = .init(genArgs) return c } - } - } -} -extension SystemCommand.ProductBuildCommand.SynthesizeCommand: Runnable {} -extension SystemCommand.ProductBuildCommand.DistributionCommand: Runnable {} + // Add a package dependency to the manifest + public func adddependency(_ options: adddependencyCommand.Option..., dependency: String) -> adddependencyCommand { + self.adddependency(options, dependency: dependency) + } -extension SystemCommand { - // OpenPGP encryption and signing tool - // See gpg(1) for more information. - public static func gpg(executable: Executable = GpgCommand.defaultExecutable) -> GpgCommand { - GpgCommand(executable: executable) - } + // Add a package dependency to the manifest + public func adddependency(_ options: [adddependencyCommand.Option], dependency: String) -> adddependencyCommand { + adddependencyCommand(parent: self, options, dependency: dependency) + } - public struct GpgCommand { - public static var defaultExecutable: Executable { .name("gpg") } + public struct adddependencyCommand { + public var parent: packageCommand + public var options: [Option] + public var dependency: String - public var executable: Executable + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case exact(String) + case revision(String) + case branch(String) + case from(String) + case up_to_next_minor_from(String) + case to(String) + case type(String) + case version + case help - public init(executable: Executable) { - self.executable = executable - } + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .exact(exact): + ["--exact", String(describing: exact)] + case let .revision(revision): + ["--revision", String(describing: revision)] + case let .branch(branch): + ["--branch", String(describing: branch)] + case let .from(from): + ["--from", String(describing: from)] + case let .up_to_next_minor_from(up_to_next_minor_from): + ["--up-to-next-minor-from", String(describing: up_to_next_minor_from)] + case let .to(to): + ["--to", String(describing: to)] + case let .type(type): + ["--type", String(describing: type)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - public func config() -> Configuration { - var args: [String] = [] + public init(parent: packageCommand, _ options: [adddependencyCommand.Option], dependency: String) { + self.parent = parent + self.options = options + self.dependency = dependency + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("add-dependency") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.dependency.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Add a new product to the manifest + public func addproduct(_ options: addproductCommand.Option..., name: String) -> addproductCommand { + self.addproduct(options, name: name) + } + + // Add a new product to the manifest + public func addproduct(_ options: [addproductCommand.Option], name: String) -> addproductCommand { + addproductCommand(parent: self, options, name: name) + } + + public struct addproductCommand { + public var parent: packageCommand + public var options: [Option] + public var name: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case type(String) + case targets(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .type(type): + ["--type", String(describing: type)] + case let .targets(targets): + ["--targets", String(describing: targets)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [addproductCommand.Option], name: String) { + self.parent = parent + self.options = options + self.name = name + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("add-product") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.name.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Add a new target to the manifest + public func addtarget(_ options: addtargetCommand.Option..., name: String) -> addtargetCommand { + self.addtarget(options, name: name) + } + + // Add a new target to the manifest + public func addtarget(_ options: [addtargetCommand.Option], name: String) -> addtargetCommand { + addtargetCommand(parent: self, options, name: name) + } + + public struct addtargetCommand { + public var parent: packageCommand + public var options: [Option] + public var name: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case type(String) + case dependencies(String) + case url(String) + case path(String) + case checksum(String) + case testing_library(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .type(type): + ["--type", String(describing: type)] + case let .dependencies(dependencies): + ["--dependencies", String(describing: dependencies)] + case let .url(url): + ["--url", String(describing: url)] + case let .path(path): + ["--path", String(describing: path)] + case let .checksum(checksum): + ["--checksum", String(describing: checksum)] + case let .testing_library(testing_library): + ["--testing-library", String(describing: testing_library)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [addtargetCommand.Option], name: String) { + self.parent = parent + self.options = options + self.name = name + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("add-target") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.name.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Add a new target dependency to the manifest + public func addtargetdependency(_ options: addtargetdependencyCommand.Option..., dependency_name: String, target_name: String) -> addtargetdependencyCommand { + self.addtargetdependency(options, dependency_name: dependency_name, target_name: target_name) + } + + // Add a new target dependency to the manifest + public func addtargetdependency(_ options: [addtargetdependencyCommand.Option], dependency_name: String, target_name: String) -> addtargetdependencyCommand { + addtargetdependencyCommand(parent: self, options, dependency_name: dependency_name, target_name: target_name) + } + + public struct addtargetdependencyCommand { + public var parent: packageCommand + public var options: [Option] + public var dependency_name: String + public var target_name: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case package(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .package(package): + ["--package", String(describing: package)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [addtargetdependencyCommand.Option], dependency_name: String, target_name: String) { + self.parent = parent + self.options = options + self.dependency_name = dependency_name + self.target_name = target_name + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("add-target-dependency") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.dependency_name.description] + genArgs += [self.target_name.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Delete build artifacts + public func clean(_ options: cleanCommand.Option...) -> cleanCommand { + self.clean(options) + } + + // Delete build artifacts + public func clean(_ options: [cleanCommand.Option]) -> cleanCommand { + cleanCommand(parent: self, options) + } + + public struct cleanCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [cleanCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("clean") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Purge the global repository cache. + public func purgecache(_ options: purgecacheCommand.Option...) -> purgecacheCommand { + self.purgecache(options) + } + + // Purge the global repository cache. + public func purgecache(_ options: [purgecacheCommand.Option]) -> purgecacheCommand { + purgecacheCommand(parent: self, options) + } + + public struct purgecacheCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [purgecacheCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("purge-cache") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Reset the complete cache/build directory + public func reset(_ options: resetCommand.Option...) -> resetCommand { + self.reset(options) + } + + // Reset the complete cache/build directory + public func reset(_ options: [resetCommand.Option]) -> resetCommand { + resetCommand(parent: self, options) + } + + public struct resetCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [resetCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("reset") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Update package dependencies + public func update(_ options: updateCommand.Option..., packages: [String]?) -> updateCommand { + self.update(options, packages: packages) + } + + // Update package dependencies + public func update(_ options: [updateCommand.Option], packages: [String]?) -> updateCommand { + updateCommand(parent: self, options, packages: packages) + } + + public struct updateCommand { + public var parent: packageCommand + public var options: [Option] + public var packages: [String]? + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case dry_run + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .dry_run: + ["--dry-run"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [updateCommand.Option], packages: [String]?) { + self.parent = parent + self.options = options + self.packages = packages + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("update") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + if let packages = self.packages { genArgs += packages.map(\.description) } + + c.arguments = .init(genArgs) + + return c + } + } + + // Describe the current package + public func describe(_ options: describeCommand.Option...) -> describeCommand { + self.describe(options) + } + + // Describe the current package + public func describe(_ options: [describeCommand.Option]) -> describeCommand { + describeCommand(parent: self, options) + } + + public struct describeCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case type(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .type(type): + ["--type", String(describing: type)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [describeCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("describe") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Initialize a new package + public func _init(_ options: initCommand.Option...) -> initCommand { + self._init(options) + } + + // Initialize a new package + public func _init(_ options: [initCommand.Option]) -> initCommand { + initCommand(parent: self, options) + } + + public struct initCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(FilePath) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case type(String) + case enable_xctest + case enable_swift_testing + case enable_experimental_swift_testing + case name(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .type(type): + ["--type", String(describing: type)] + case .enable_xctest: + ["--enable-xctest"] + case .enable_swift_testing: + ["--enable-swift-testing"] + case .enable_experimental_swift_testing: + ["--enable-experimental-swift-testing"] + case let .name(name): + ["--name", String(describing: name)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [initCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("init") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + public func _format(_ options: _formatCommand.Option..., swift_format_flags: [String]?) -> _formatCommand { + self._format(options, swift_format_flags: swift_format_flags) + } + + public func _format(_ options: [_formatCommand.Option], swift_format_flags: [String]?) -> _formatCommand { + _formatCommand(parent: self, options, swift_format_flags: swift_format_flags) + } + + public struct _formatCommand { + public var parent: packageCommand + public var options: [Option] + public var swift_format_flags: [String]? + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [_formatCommand.Option], swift_format_flags: [String]?) { + self.parent = parent + self.options = options + self.swift_format_flags = swift_format_flags + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("_format") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + if let swift_format_flags = self.swift_format_flags { genArgs += swift_format_flags.map(\.description) } + + c.arguments = .init(genArgs) + + return c + } + } + + // Offers the ability to install executable products of the current package. + public func experimentalinstall(_ options: experimentalinstallCommand.Option...) -> experimentalinstallCommand { + self.experimentalinstall(options) + } + + // Offers the ability to install executable products of the current package. + public func experimentalinstall(_ options: [experimentalinstallCommand.Option]) -> experimentalinstallCommand { + experimentalinstallCommand(parent: self, options) + } + + public struct experimentalinstallCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case product(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .product(product): + ["--product", String(describing: product)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [experimentalinstallCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("experimental-install") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Offers the ability to uninstall executable products previously installed by `swift package experimental-install`. + public func experimentaluninstall(_ options: experimentaluninstallCommand.Option..., name: String) -> experimentaluninstallCommand { + self.experimentaluninstall(options, name: name) + } + + // Offers the ability to uninstall executable products previously installed by `swift package experimental-install`. + public func experimentaluninstall(_ options: [experimentaluninstallCommand.Option], name: String) -> experimentaluninstallCommand { + experimentaluninstallCommand(parent: self, options, name: name) + } + + public struct experimentaluninstallCommand { + public var parent: packageCommand + public var options: [Option] + public var name: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [experimentaluninstallCommand.Option], name: String) { + self.parent = parent + self.options = options + self.name = name + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("experimental-uninstall") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.name.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Diagnose API-breaking changes to Swift modules in a package + public func diagnoseapibreakingchanges(_ options: diagnoseapibreakingchangesCommand.Option..., treeish: String) -> diagnoseapibreakingchangesCommand { + self.diagnoseapibreakingchanges(options, treeish: treeish) + } + + // Diagnose API-breaking changes to Swift modules in a package + public func diagnoseapibreakingchanges(_ options: [diagnoseapibreakingchangesCommand.Option], treeish: String) -> diagnoseapibreakingchangesCommand { + diagnoseapibreakingchangesCommand(parent: self, options, treeish: treeish) + } + + public struct diagnoseapibreakingchangesCommand { + public var parent: packageCommand + public var options: [Option] + public var treeish: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case breakage_allowlist_path(String) + case products(String) + case targets(String) + case traits(String) + case enable_all_traits + case disable_default_traits + case baseline_dir(String) + case regenerate_baseline + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .breakage_allowlist_path(breakage_allowlist_path): + ["--breakage-allowlist-path", String(describing: breakage_allowlist_path)] + case let .products(products): + ["--products", String(describing: products)] + case let .targets(targets): + ["--targets", String(describing: targets)] + case let .traits(traits): + ["--traits", String(describing: traits)] + case .enable_all_traits: + ["--enable-all-traits"] + case .disable_default_traits: + ["--disable-default-traits"] + case let .baseline_dir(baseline_dir): + ["--baseline-dir", String(describing: baseline_dir)] + case .regenerate_baseline: + ["--regenerate-baseline"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [diagnoseapibreakingchangesCommand.Option], treeish: String) { + self.parent = parent + self.options = options + self.treeish = treeish + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("diagnose-api-breaking-changes") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.treeish.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Deprecated - use `swift package diagnose-api-breaking-changes` instead + public func experimentalapidiff(_ options: experimentalapidiffCommand.Option..., args: [String]?) -> experimentalapidiffCommand { + self.experimentalapidiff(options, args: args) + } + + // Deprecated - use `swift package diagnose-api-breaking-changes` instead + public func experimentalapidiff(_ options: [experimentalapidiffCommand.Option], args: [String]?) -> experimentalapidiffCommand { + experimentalapidiffCommand(parent: self, options, args: args) + } + + public struct experimentalapidiffCommand { + public var parent: packageCommand + public var options: [Option] + public var args: [String]? + + public enum Option { + case version + case help + + public func args() -> [String] { + switch self { + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [experimentalapidiffCommand.Option], args: [String]?) { + self.parent = parent + self.options = options + self.args = args + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("experimental-api-diff") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + if let args = self.args { genArgs += args.map(\.description) } + + c.arguments = .init(genArgs) + + return c + } + } + + // Dump Symbol Graph + public func dumpsymbolgraph(_ options: dumpsymbolgraphCommand.Option...) -> dumpsymbolgraphCommand { + self.dumpsymbolgraph(options) + } + + // Dump Symbol Graph + public func dumpsymbolgraph(_ options: [dumpsymbolgraphCommand.Option]) -> dumpsymbolgraphCommand { + dumpsymbolgraphCommand(parent: self, options) + } + + public struct dumpsymbolgraphCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case pretty_print + case skip_synthesized_members + case minimum_access_level(String) + case skip_inherited_docs + case include_spi_symbols + case emit_extension_block_symbols + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .pretty_print: + ["--pretty-print"] + case .skip_synthesized_members: + ["--skip-synthesized-members"] + case let .minimum_access_level(minimum_access_level): + ["--minimum-access-level", String(describing: minimum_access_level)] + case .skip_inherited_docs: + ["--skip-inherited-docs"] + case .include_spi_symbols: + ["--include-spi-symbols"] + case .emit_extension_block_symbols: + ["--emit-extension-block-symbols"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [dumpsymbolgraphCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("dump-symbol-graph") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + public func dumppif(_ options: dumppifCommand.Option...) -> dumppifCommand { + self.dumppif(options) + } + + public func dumppif(_ options: [dumppifCommand.Option]) -> dumppifCommand { + dumppifCommand(parent: self, options) + } + + public struct dumppifCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case preserve_structure + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .preserve_structure: + ["--preserve-structure"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [dumppifCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("dump-pif") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Print parsed Package.swift as JSON + public func dumppackage(_ options: dumppackageCommand.Option...) -> dumppackageCommand { + self.dumppackage(options) + } + + // Print parsed Package.swift as JSON + public func dumppackage(_ options: [dumppackageCommand.Option]) -> dumppackageCommand { + dumppackageCommand(parent: self, options) + } + + public struct dumppackageCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [dumppackageCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("dump-package") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Put a package in editable mode + public func edit(_ options: editCommand.Option..., package_identity: String) -> editCommand { + self.edit(options, package_identity: package_identity) + } + + // Put a package in editable mode + public func edit(_ options: [editCommand.Option], package_identity: String) -> editCommand { + editCommand(parent: self, options, package_identity: package_identity) + } + + public struct editCommand { + public var parent: packageCommand + public var options: [Option] + public var package_identity: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case revision(String) + case branch(String) + case path(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .revision(revision): + ["--revision", String(describing: revision)] + case let .branch(branch): + ["--branch", String(describing: branch)] + case let .path(path): + ["--path", String(describing: path)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [editCommand.Option], package_identity: String) { + self.parent = parent + self.options = options + self.package_identity = package_identity + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("edit") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.package_identity.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Remove a package from editable mode + public func unedit(_ options: uneditCommand.Option..., package_identity: String) -> uneditCommand { + self.unedit(options, package_identity: package_identity) + } + + // Remove a package from editable mode + public func unedit(_ options: [uneditCommand.Option], package_identity: String) -> uneditCommand { + uneditCommand(parent: self, options, package_identity: package_identity) + } + + public struct uneditCommand { + public var parent: packageCommand + public var options: [Option] + public var package_identity: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case force + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .force: + ["--force"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [uneditCommand.Option], package_identity: String) { + self.parent = parent + self.options = options + self.package_identity = package_identity + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("unedit") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.package_identity.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Manipulate configuration of the package + public func config(_ options: configCommand.Option...) -> configCommand { + self.config(options) + } + + // Manipulate configuration of the package + public func config(_ options: [configCommand.Option]) -> configCommand { + configCommand(parent: self, options) + } + + public struct configCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case version + case help + + public func args() -> [String] { + switch self { + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [configCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("config") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + + // Set a mirror for a dependency + public func setmirror(_ options: setmirrorCommand.Option...) -> setmirrorCommand { + self.setmirror(options) + } + + // Set a mirror for a dependency + public func setmirror(_ options: [setmirrorCommand.Option]) -> setmirrorCommand { + setmirrorCommand(parent: self, options) + } + + public struct setmirrorCommand { + public var parent: configCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case package_url(String) + case original_url(String) + case mirror_url(String) + case original(String) + case mirror(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .package_url(package_url): + ["--package-url", String(describing: package_url)] + case let .original_url(original_url): + ["--original-url", String(describing: original_url)] + case let .mirror_url(mirror_url): + ["--mirror-url", String(describing: mirror_url)] + case let .original(original): + ["--original", String(describing: original)] + case let .mirror(mirror): + ["--mirror", String(describing: mirror)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: configCommand, _ options: [setmirrorCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("set-mirror") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Remove an existing mirror + public func unsetmirror(_ options: unsetmirrorCommand.Option...) -> unsetmirrorCommand { + self.unsetmirror(options) + } + + // Remove an existing mirror + public func unsetmirror(_ options: [unsetmirrorCommand.Option]) -> unsetmirrorCommand { + unsetmirrorCommand(parent: self, options) + } + + public struct unsetmirrorCommand { + public var parent: configCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case package_url(String) + case original_url(String) + case mirror_url(String) + case original(String) + case mirror(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .package_url(package_url): + ["--package-url", String(describing: package_url)] + case let .original_url(original_url): + ["--original-url", String(describing: original_url)] + case let .mirror_url(mirror_url): + ["--mirror-url", String(describing: mirror_url)] + case let .original(original): + ["--original", String(describing: original)] + case let .mirror(mirror): + ["--mirror", String(describing: mirror)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: configCommand, _ options: [unsetmirrorCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("unset-mirror") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Print mirror configuration for the given package dependency + public func getmirror(_ options: getmirrorCommand.Option...) -> getmirrorCommand { + self.getmirror(options) + } + + // Print mirror configuration for the given package dependency + public func getmirror(_ options: [getmirrorCommand.Option]) -> getmirrorCommand { + getmirrorCommand(parent: self, options) + } + + public struct getmirrorCommand { + public var parent: configCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case package_url(String) + case original_url(String) + case original(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .package_url(package_url): + ["--package-url", String(describing: package_url)] + case let .original_url(original_url): + ["--original-url", String(describing: original_url)] + case let .original(original): + ["--original", String(describing: original)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: configCommand, _ options: [getmirrorCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("get-mirror") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + } + + // Resolve package dependencies + public func resolve(_ options: resolveCommand.Option..., package_name: String? = nil) -> resolveCommand { + self.resolve(options, package_name: package_name) + } + + // Resolve package dependencies + public func resolve(_ options: [resolveCommand.Option], package_name: String? = nil) -> resolveCommand { + resolveCommand(parent: self, options, package_name: package_name) + } + + public struct resolveCommand { + public var parent: packageCommand + public var options: [Option] + public var package_name: String? + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version(String) + case branch(String) + case revision(String) + case version2 + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .version(version): + ["--version", String(describing: version)] + case let .branch(branch): + ["--branch", String(describing: branch)] + case let .revision(revision): + ["--revision", String(describing: revision)] + case .version2: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [resolveCommand.Option], package_name: String? = nil) { + self.parent = parent + self.options = options + self.package_name = package_name + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("resolve") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + if let package_name = self.package_name { genArgs += [package_name.description] } + + c.arguments = .init(genArgs) + + return c + } + } + + public func fetch(_ options: fetchCommand.Option..., package_name: String? = nil) -> fetchCommand { + self.fetch(options, package_name: package_name) + } + + public func fetch(_ options: [fetchCommand.Option], package_name: String? = nil) -> fetchCommand { + fetchCommand(parent: self, options, package_name: package_name) + } + + public struct fetchCommand { + public var parent: packageCommand + public var options: [Option] + public var package_name: String? + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version2(String) + case branch(String) + case revision(String) + case version3 + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .version2(version2): + ["--version", String(describing: version2)] + case let .branch(branch): + ["--branch", String(describing: branch)] + case let .revision(revision): + ["--revision", String(describing: revision)] + case .version3: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [fetchCommand.Option], package_name: String? = nil) { + self.parent = parent + self.options = options + self.package_name = package_name + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("fetch") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + if let package_name = self.package_name { genArgs += [package_name.description] } + + c.arguments = .init(genArgs) + + return c + } + } + + // Print the resolved dependency graph + public func showdependencies(_ options: showdependenciesCommand.Option...) -> showdependenciesCommand { + self.showdependencies(options) + } + + // Print the resolved dependency graph + public func showdependencies(_ options: [showdependenciesCommand.Option]) -> showdependenciesCommand { + showdependenciesCommand(parent: self, options) + } + + public struct showdependenciesCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case format(String) + case output_path(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .format(format): + ["--format", String(describing: format)] + case let .output_path(output_path): + ["--output-path", String(describing: output_path)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [showdependenciesCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("show-dependencies") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // List the available executables from this package. + public func showexecutables(_ options: showexecutablesCommand.Option...) -> showexecutablesCommand { + self.showexecutables(options) + } + + // List the available executables from this package. + public func showexecutables(_ options: [showexecutablesCommand.Option]) -> showexecutablesCommand { + showexecutablesCommand(parent: self, options) + } + + public struct showexecutablesCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case format(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .format(format): + ["--format", String(describing: format)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [showexecutablesCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("show-executables") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Manipulate tools version of the current package + public func toolsversion(_ options: toolsversionCommand.Option...) -> toolsversionCommand { + self.toolsversion(options) + } + + // Manipulate tools version of the current package + public func toolsversion(_ options: [toolsversionCommand.Option]) -> toolsversionCommand { + toolsversionCommand(parent: self, options) + } + + public struct toolsversionCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case set_current + case set(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .set_current: + ["--set-current"] + case let .set(set): + ["--set", String(describing: set)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [toolsversionCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("tools-version") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Compute the checksum for a binary artifact. + public func computechecksum(_ options: computechecksumCommand.Option..., path: String) -> computechecksumCommand { + self.computechecksum(options, path: path) + } + + // Compute the checksum for a binary artifact. + public func computechecksum(_ options: [computechecksumCommand.Option], path: String) -> computechecksumCommand { + computechecksumCommand(parent: self, options, path: path) + } + + public struct computechecksumCommand { + public var parent: packageCommand + public var options: [Option] + public var path: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [computechecksumCommand.Option], path: String) { + self.parent = parent + self.options = options + self.path = path + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("compute-checksum") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.path.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Create a source archive for the package + public func archivesource(_ options: archivesourceCommand.Option...) -> archivesourceCommand { + self.archivesource(options) + } + + // Create a source archive for the package + public func archivesource(_ options: [archivesourceCommand.Option]) -> archivesourceCommand { + archivesourceCommand(parent: self, options) + } + + public struct archivesourceCommand { + public var parent: packageCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case output(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case let .output(output): + ["--output", String(describing: output)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [archivesourceCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("archive-source") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } + + // Completion command (for shell completions) + public func completiontool(_ options: completiontoolCommand.Option..., mode: String) -> completiontoolCommand { + self.completiontool(options, mode: mode) + } + + // Completion command (for shell completions) + public func completiontool(_ options: [completiontoolCommand.Option], mode: String) -> completiontoolCommand { + completiontoolCommand(parent: self, options, mode: mode) + } + + public struct completiontoolCommand { + public var parent: packageCommand + public var options: [Option] + public var mode: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [completiontoolCommand.Option], mode: String) { + self.parent = parent + self.options = options + self.mode = mode + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("completion-tool") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.mode.description] + + c.arguments = .init(genArgs) + + return c + } + } + + // Invoke a command plugin or perform other actions on command plugins + public func plugin(_ options: pluginCommand.Option..., command: String? = nil, arguments: [String]?) -> pluginCommand { + self.plugin(options, command: command, arguments: arguments) + } + + // Invoke a command plugin or perform other actions on command plugins + public func plugin(_ options: [pluginCommand.Option], command: String? = nil, arguments: [String]?) -> pluginCommand { + pluginCommand(parent: self, options, command: command, arguments: arguments) + } + + public struct pluginCommand { + public var parent: packageCommand + public var options: [Option] + public var command: String? + public var arguments: [String]? + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case list + case allow_writing_to_package_directory + case allow_writing_to_directory(String) + case allow_network_connections(String) + case package(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .list: + ["--list"] + case .allow_writing_to_package_directory: + ["--allow-writing-to-package-directory"] + case let .allow_writing_to_directory(allow_writing_to_directory): + ["--allow-writing-to-directory", String(describing: allow_writing_to_directory)] + case let .allow_network_connections(allow_network_connections): + ["--allow-network-connections", String(describing: allow_network_connections)] + case let .package(package): + ["--package", String(describing: package)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [pluginCommand.Option], command: String? = nil, arguments: [String]?) { + self.parent = parent + self.options = options + self.command = command + self.arguments = arguments + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("plugin") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + if let command = self.command { genArgs += [command.description] } + if let arguments = self.arguments { genArgs += arguments.map(\.description) } + + c.arguments = .init(genArgs) + + return c + } + } + + public func defaultcommand(_ options: defaultcommandCommand.Option..., remaining: [String]?) -> defaultcommandCommand { + self.defaultcommand(options, remaining: remaining) + } + + public func defaultcommand(_ options: [defaultcommandCommand.Option], remaining: [String]?) -> defaultcommandCommand { + defaultcommandCommand(parent: self, options, remaining: remaining) + } + + public struct defaultcommandCommand { + public var parent: packageCommand + public var options: [Option] + public var remaining: [String]? + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case enable_dependency_cache + case disable_package_manifest_caching + case enable_build_manifest_caching + case manifest_cache(String) + case enable_experimental_prebuilts + case experimental_prebuilts_download_url(String) + case experimental_prebuilts_root_cert(String) + case verbose + case very_verbose + case quiet + case disable_sandbox + case netrc + case enable_netrc + case netrc_file(String) + case enable_keychain + case resolver_fingerprint_checking(String) + case resolver_signing_entity_checking(String) + case enable_signature_validation + case enable_prefetching + case force_resolved_versions + case skip_update + case disable_scm_to_registry_transformation + case use_registry_identity_for_scm + case replace_scm_with_registry + case default_registry_url(String) + case configuration(String) + case Xcc(String) + case Xswiftc(String) + case Xlinker(String) + case Xcxx(String) + case Xxcbuild(String) + case Xbuild_tools_swiftc(String) + case Xmanifest(String) + case triple(String) + case sdk(String) + case toolchain(String) + case arch(String) + case experimental_swift_sdk(String) + case swift_sdk(String) + case sanitize(String) + case auto_index_store + case experimental_prepare_for_indexing + case experimental_prepare_for_indexing_no_lazy + case enable_parseable_module_interfaces + case jobs(String) + case use_integrated_swift_driver + case explicit_target_dependency_import_check(String) + case experimental_explicit_module_build + case build_system(String) + case debug_info_format(String) + case enable_test_discovery + case experimental_test_entry_point_path(String) + case experimental_lto_mode(String) + case enable_get_task_allow_entitlement + case omit_frame_pointers + case enable_dead_strip + case disable_local_rpath + case allow_writing_to_package_directory + case allow_writing_to_directory(String) + case allow_network_connections(String) + case package(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .enable_dependency_cache: + ["--enable-dependency-cache"] + case .disable_package_manifest_caching: + ["--disable-package-manifest-caching"] + case .enable_build_manifest_caching: + ["--enable-build-manifest-caching"] + case let .manifest_cache(manifest_cache): + ["--manifest-cache", String(describing: manifest_cache)] + case .enable_experimental_prebuilts: + ["--enable-experimental-prebuilts"] + case let .experimental_prebuilts_download_url(experimental_prebuilts_download_url): + ["--experimental-prebuilts-download-url", String(describing: experimental_prebuilts_download_url)] + case let .experimental_prebuilts_root_cert(experimental_prebuilts_root_cert): + ["--experimental-prebuilts-root-cert", String(describing: experimental_prebuilts_root_cert)] + case .verbose: + ["--verbose"] + case .very_verbose: + ["--very-verbose"] + case .quiet: + ["--quiet"] + case .disable_sandbox: + ["--disable-sandbox"] + case .netrc: + ["--netrc"] + case .enable_netrc: + ["--enable-netrc"] + case let .netrc_file(netrc_file): + ["--netrc-file", String(describing: netrc_file)] + case .enable_keychain: + ["--enable-keychain"] + case let .resolver_fingerprint_checking(resolver_fingerprint_checking): + ["--resolver-fingerprint-checking", String(describing: resolver_fingerprint_checking)] + case let .resolver_signing_entity_checking(resolver_signing_entity_checking): + ["--resolver-signing-entity-checking", String(describing: resolver_signing_entity_checking)] + case .enable_signature_validation: + ["--enable-signature-validation"] + case .enable_prefetching: + ["--enable-prefetching"] + case .force_resolved_versions: + ["--force-resolved-versions"] + case .skip_update: + ["--skip-update"] + case .disable_scm_to_registry_transformation: + ["--disable-scm-to-registry-transformation"] + case .use_registry_identity_for_scm: + ["--use-registry-identity-for-scm"] + case .replace_scm_with_registry: + ["--replace-scm-with-registry"] + case let .default_registry_url(default_registry_url): + ["--default-registry-url", String(describing: default_registry_url)] + case let .configuration(configuration): + ["--configuration", String(describing: configuration)] + case let .Xcc(Xcc): + ["-Xcc", String(describing: Xcc)] + case let .Xswiftc(Xswiftc): + ["-Xswiftc", String(describing: Xswiftc)] + case let .Xlinker(Xlinker): + ["-Xlinker", String(describing: Xlinker)] + case let .Xcxx(Xcxx): + ["-Xcxx", String(describing: Xcxx)] + case let .Xxcbuild(Xxcbuild): + ["-Xxcbuild", String(describing: Xxcbuild)] + case let .Xbuild_tools_swiftc(Xbuild_tools_swiftc): + ["-Xbuild-tools-swiftc", String(describing: Xbuild_tools_swiftc)] + case let .Xmanifest(Xmanifest): + ["-Xmanifest", String(describing: Xmanifest)] + case let .triple(triple): + ["--triple", String(describing: triple)] + case let .sdk(sdk): + ["--sdk", String(describing: sdk)] + case let .toolchain(toolchain): + ["--toolchain", String(describing: toolchain)] + case let .arch(arch): + ["--arch", String(describing: arch)] + case let .experimental_swift_sdk(experimental_swift_sdk): + ["--experimental-swift-sdk", String(describing: experimental_swift_sdk)] + case let .swift_sdk(swift_sdk): + ["--swift-sdk", String(describing: swift_sdk)] + case let .sanitize(sanitize): + ["--sanitize", String(describing: sanitize)] + case .auto_index_store: + ["--auto-index-store"] + case .experimental_prepare_for_indexing: + ["--experimental-prepare-for-indexing"] + case .experimental_prepare_for_indexing_no_lazy: + ["--experimental-prepare-for-indexing-no-lazy"] + case .enable_parseable_module_interfaces: + ["--enable-parseable-module-interfaces"] + case let .jobs(jobs): + ["--jobs", String(describing: jobs)] + case .use_integrated_swift_driver: + ["--use-integrated-swift-driver"] + case let .explicit_target_dependency_import_check(explicit_target_dependency_import_check): + ["--explicit-target-dependency-import-check", String(describing: explicit_target_dependency_import_check)] + case .experimental_explicit_module_build: + ["--experimental-explicit-module-build"] + case let .build_system(build_system): + ["--build-system", String(describing: build_system)] + case let .debug_info_format(debug_info_format): + ["-debug-info-format", String(describing: debug_info_format)] + case .enable_test_discovery: + ["--enable-test-discovery"] + case let .experimental_test_entry_point_path(experimental_test_entry_point_path): + ["--experimental-test-entry-point-path", String(describing: experimental_test_entry_point_path)] + case let .experimental_lto_mode(experimental_lto_mode): + ["--experimental-lto-mode", String(describing: experimental_lto_mode)] + case .enable_get_task_allow_entitlement: + ["--enable-get-task-allow-entitlement"] + case .omit_frame_pointers: + ["--omit-frame-pointers"] + case .enable_dead_strip: + ["--enable-dead-strip"] + case .disable_local_rpath: + ["--disable-local-rpath"] + case .allow_writing_to_package_directory: + ["--allow-writing-to-package-directory"] + case let .allow_writing_to_directory(allow_writing_to_directory): + ["--allow-writing-to-directory", String(describing: allow_writing_to_directory)] + case let .allow_network_connections(allow_network_connections): + ["--allow-network-connections", String(describing: allow_network_connections)] + case let .package(package): + ["--package", String(describing: package)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: packageCommand, _ options: [defaultcommandCommand.Option], remaining: [String]?) { + self.parent = parent + self.options = options + self.remaining = remaining + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("default-command") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + if let remaining = self.remaining { genArgs += remaining.map(\.description) } + + c.arguments = .init(genArgs) + + return c + } + } + } + + // Perform operations on Swift SDKs. + public func sdk(_ options: sdkCommand.Option...) -> sdkCommand { + self.sdk(options) + } + + // Perform operations on Swift SDKs. + public func sdk(_ options: [sdkCommand.Option]) -> sdkCommand { + sdkCommand(parent: self, options) + } + + public struct sdkCommand { + public var parent: swiftCommand + public var options: [Option] + + public enum Option { + case version + case help + + public func args() -> [String] { + switch self { + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: swiftCommand, _ options: [sdkCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("sdk") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + + // Manages configuration options for installed Swift SDKs. + public func configure(_ options: configureCommand.Option..., sdk_id: String, target_triple: String) -> configureCommand { + self.configure(options, sdk_id: sdk_id, target_triple: target_triple) + } - return Configuration( - executable: self.executable, - arguments: Arguments(args), - environment: .inherit - ) - } + // Manages configuration options for installed Swift SDKs. + public func configure(_ options: [configureCommand.Option], sdk_id: String, target_triple: String) -> configureCommand { + configureCommand(parent: self, options, sdk_id: sdk_id, target_triple: target_triple) + } - public func _import(keys: FilePath...) -> ImportCommand { - self._import(keys: keys) - } + public struct configureCommand { + public var parent: sdkCommand + public var options: [Option] + public var sdk_id: String + public var target_triple: String - public func _import(keys: [FilePath]) -> ImportCommand { - ImportCommand(self, keys: keys) - } + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case sdk_root_path(String) + case swift_resources_path(String) + case swift_static_resources_path(String) + case include_search_path(String) + case library_search_path(String) + case toolset_path(String) + case reset + case show_configuration + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case let .sdk_root_path(sdk_root_path): + ["--sdk-root-path", String(describing: sdk_root_path)] + case let .swift_resources_path(swift_resources_path): + ["--swift-resources-path", String(describing: swift_resources_path)] + case let .swift_static_resources_path(swift_static_resources_path): + ["--swift-static-resources-path", String(describing: swift_static_resources_path)] + case let .include_search_path(include_search_path): + ["--include-search-path", String(describing: include_search_path)] + case let .library_search_path(library_search_path): + ["--library-search-path", String(describing: library_search_path)] + case let .toolset_path(toolset_path): + ["--toolset-path", String(describing: toolset_path)] + case .reset: + ["--reset"] + case .show_configuration: + ["--show-configuration"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - public struct ImportCommand { - public var gpg: GpgCommand + public init(parent: sdkCommand, _ options: [configureCommand.Option], sdk_id: String, target_triple: String) { + self.parent = parent + self.options = options + self.sdk_id = sdk_id + self.target_triple = target_triple + } - public var keys: [FilePath] + public func config() -> Configuration { + var c = self.parent.config() - public init(_ gpg: GpgCommand, keys: [FilePath]) { - self.gpg = gpg - self.keys = keys - } + var genArgs = c.arguments.storage.map(\.description) - public func config() -> Configuration { - var c: Configuration = self.gpg.config() + genArgs.append("configure") - var args = c.arguments.storage.map(\.description) + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.sdk_id.description] + genArgs += [self.target_triple.description] - args.append("--import") + c.arguments = .init(genArgs) - for key in self.keys { - args.append("\(key)") + return c } + } - c.arguments = .init(args) + // Deprecated: use `swift sdk configure` instead.Manages configuration options for installed Swift SDKs. + public func configuration(_ options: configurationCommand.Option...) -> configurationCommand { + self.configuration(options) + } - return c + // Deprecated: use `swift sdk configure` instead.Manages configuration options for installed Swift SDKs. + public func configuration(_ options: [configurationCommand.Option]) -> configurationCommand { + configurationCommand(parent: self, options) } - } - public func verify(detachedSignature: FilePath, signedData: FilePath) -> VerifyCommand { - VerifyCommand(self, detachedSignature: detachedSignature, signedData: signedData) - } + public struct configurationCommand { + public var parent: sdkCommand + public var options: [Option] - public struct VerifyCommand { - public var gpg: GpgCommand + public enum Option { + case version + case help - public var detachedSignature: FilePath + public func args() -> [String] { + switch self { + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - public var signedData: FilePath + public init(parent: sdkCommand, _ options: [configurationCommand.Option]) { + self.parent = parent + self.options = options + } - public init(_ gpg: GpgCommand, detachedSignature: FilePath, signedData: FilePath) { - self.gpg = gpg - self.detachedSignature = detachedSignature - self.signedData = signedData - } + public func config() -> Configuration { + var c = self.parent.config() - public func config() -> Configuration { - var c: Configuration = self.gpg.config() + var genArgs = c.arguments.storage.map(\.description) - var args = c.arguments.storage.map(\.description) + genArgs.append("configuration") - args.append("--verify") + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } - args.append("\(self.detachedSignature)") - args.append("\(self.signedData)") + c.arguments = .init(genArgs) - c.arguments = .init(args) + return c + } - return c - } - } - } -} + // Resets configuration properties currently applied to a given Swift SDK and target triple. If no specific property is specified, all of them are reset for the Swift SDK. + public func reset(_ options: resetCommand.Option..., sdk_id: String, target_triple: String) -> resetCommand { + self.reset(options, sdk_id: sdk_id, target_triple: target_triple) + } -extension SystemCommand.GpgCommand.ImportCommand: Runnable {} -extension SystemCommand.GpgCommand.VerifyCommand: Runnable {} + // Resets configuration properties currently applied to a given Swift SDK and target triple. If no specific property is specified, all of them are reset for the Swift SDK. + public func reset(_ options: [resetCommand.Option], sdk_id: String, target_triple: String) -> resetCommand { + resetCommand(parent: self, options, sdk_id: sdk_id, target_triple: target_triple) + } -extension SystemCommand { - // Query and manipulate macOS Installer packages and receipts. - // See pkgutil(1) for more information. - public static func pkgutil(executable: Executable = PkgutilCommand.defaultExecutable, _ options: PkgutilCommand.Option...) -> PkgutilCommand { - Self.pkgutil(executable: executable, options) - } + public struct resetCommand { + public var parent: configurationCommand + public var options: [Option] + public var sdk_id: String + public var target_triple: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case sdk_root_path + case swift_resources_path + case swift_static_resources_path + case include_search_path + case library_search_path + case toolset_path + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .sdk_root_path: + ["--sdk-root-path"] + case .swift_resources_path: + ["--swift-resources-path"] + case .swift_static_resources_path: + ["--swift-static-resources-path"] + case .include_search_path: + ["--include-search-path"] + case .library_search_path: + ["--library-search-path"] + case .toolset_path: + ["--toolset-path"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - // Query and manipulate macOS Installer packages and receipts. - // See pkgutil(1) for more information. - public static func pkgutil(executable: Executable = PkgutilCommand.defaultExecutable, _ options: [PkgutilCommand.Option]) -> PkgutilCommand { - PkgutilCommand(executable: executable, options) - } + public init(parent: configurationCommand, _ options: [resetCommand.Option], sdk_id: String, target_triple: String) { + self.parent = parent + self.options = options + self.sdk_id = sdk_id + self.target_triple = target_triple + } - public struct PkgutilCommand { - public static var defaultExecutable: Executable { .name("pkgutil") } + public func config() -> Configuration { + var c = self.parent.config() - public var executable: Executable + var genArgs = c.arguments.storage.map(\.description) - public var options: [Option] + genArgs.append("reset") - public enum Option { - case verbose - case volume(FilePath) + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.sdk_id.description] + genArgs += [self.target_triple.description] - public func args() -> [String] { - switch self { - case .verbose: - ["--verbose"] - case let .volume(volume): - ["--volume", "\(volume)"] + c.arguments = .init(genArgs) + + return c + } } - } - } - public init(executable: Executable, _ options: [Option]) { - self.executable = executable - self.options = options - } + // Sets configuration options for installed Swift SDKs. + public func set(_ options: setCommand.Option..., sdk_id: String, target_triple: String) -> setCommand { + self.set(options, sdk_id: sdk_id, target_triple: target_triple) + } - public func config() -> Configuration { - var args: [String] = [] + // Sets configuration options for installed Swift SDKs. + public func set(_ options: [setCommand.Option], sdk_id: String, target_triple: String) -> setCommand { + setCommand(parent: self, options, sdk_id: sdk_id, target_triple: target_triple) + } - for opt in self.options { - args.append(contentsOf: opt.args()) - } + public struct setCommand { + public var parent: configurationCommand + public var options: [Option] + public var sdk_id: String + public var target_triple: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case sdk_root_path(String) + case swift_resources_path(String) + case swift_static_resources_path(String) + case include_search_path(String) + case library_search_path(String) + case toolset_path(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case let .sdk_root_path(sdk_root_path): + ["--sdk-root-path", String(describing: sdk_root_path)] + case let .swift_resources_path(swift_resources_path): + ["--swift-resources-path", String(describing: swift_resources_path)] + case let .swift_static_resources_path(swift_static_resources_path): + ["--swift-static-resources-path", String(describing: swift_static_resources_path)] + case let .include_search_path(include_search_path): + ["--include-search-path", String(describing: include_search_path)] + case let .library_search_path(library_search_path): + ["--library-search-path", String(describing: library_search_path)] + case let .toolset_path(toolset_path): + ["--toolset-path", String(describing: toolset_path)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - return Configuration( - executable: self.executable, - arguments: Arguments(args), - environment: .inherit - ) - } + public init(parent: configurationCommand, _ options: [setCommand.Option], sdk_id: String, target_triple: String) { + self.parent = parent + self.options = options + self.sdk_id = sdk_id + self.target_triple = target_triple + } - public func checkSignature(pkgPath: FilePath) -> CheckSignatureCommand { - CheckSignatureCommand(self, pkgPath: pkgPath) - } + public func config() -> Configuration { + var c = self.parent.config() - public struct CheckSignatureCommand { - public var pkgutil: PkgutilCommand + var genArgs = c.arguments.storage.map(\.description) - public var pkgPath: FilePath + genArgs.append("set") - public init(_ pkgutil: PkgutilCommand, pkgPath: FilePath) { - self.pkgutil = pkgutil - self.pkgPath = pkgPath - } + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.sdk_id.description] + genArgs += [self.target_triple.description] - public func config() -> Configuration { - var c: Configuration = self.pkgutil.config() + c.arguments = .init(genArgs) + + return c + } + } + + // Prints all configuration properties currently applied to a given Swift SDK and target triple. + public func show(_ options: showCommand.Option..., sdk_id: String, target_triple: String) -> showCommand { + self.show(options, sdk_id: sdk_id, target_triple: target_triple) + } + + // Prints all configuration properties currently applied to a given Swift SDK and target triple. + public func show(_ options: [showCommand.Option], sdk_id: String, target_triple: String) -> showCommand { + showCommand(parent: self, options, sdk_id: sdk_id, target_triple: target_triple) + } - var args = c.arguments.storage.map(\.description) + public struct showCommand { + public var parent: configurationCommand + public var options: [Option] + public var sdk_id: String + public var target_triple: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - args.append("--check-signature") + public init(parent: configurationCommand, _ options: [showCommand.Option], sdk_id: String, target_triple: String) { + self.parent = parent + self.options = options + self.sdk_id = sdk_id + self.target_triple = target_triple + } - args.append("\(self.pkgPath)") + public func config() -> Configuration { + var c = self.parent.config() - c.arguments = .init(args) + var genArgs = c.arguments.storage.map(\.description) - return c - } - } + genArgs.append("show") - public func expand(pkgPath: FilePath, dirPath: FilePath) -> ExpandCommand { - ExpandCommand(self, pkgPath: pkgPath, dirPath: dirPath) - } + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.sdk_id.description] + genArgs += [self.target_triple.description] - public struct ExpandCommand { - public var pkgutil: PkgutilCommand + c.arguments = .init(genArgs) - public var pkgPath: FilePath + return c + } + } + } - public var dirPath: FilePath + // Installs a given Swift SDK bundle to a location discoverable by SwiftPM. If the artifact bundle is at a remote location, it's downloaded to local filesystem first. + public func install(_ options: installCommand.Option..., bundle_path_or_url: String) -> installCommand { + self.install(options, bundle_path_or_url: bundle_path_or_url) + } - public init(_ pkgutil: PkgutilCommand, pkgPath: FilePath, dirPath: FilePath) { - self.pkgutil = pkgutil - self.pkgPath = pkgPath - self.dirPath = dirPath + // Installs a given Swift SDK bundle to a location discoverable by SwiftPM. If the artifact bundle is at a remote location, it's downloaded to local filesystem first. + public func install(_ options: [installCommand.Option], bundle_path_or_url: String) -> installCommand { + installCommand(parent: self, options, bundle_path_or_url: bundle_path_or_url) } - public func config() -> Configuration { - var c: Configuration = self.pkgutil.config() + public struct installCommand { + public var parent: sdkCommand + public var options: [Option] + public var bundle_path_or_url: String + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case checksum(String) + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case let .checksum(checksum): + ["--checksum", String(describing: checksum)] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - var args = c.arguments.storage.map(\.description) + public init(parent: sdkCommand, _ options: [installCommand.Option], bundle_path_or_url: String) { + self.parent = parent + self.options = options + self.bundle_path_or_url = bundle_path_or_url + } + + public func config() -> Configuration { + var c = self.parent.config() - args.append("--expand") + var genArgs = c.arguments.storage.map(\.description) - args.append("\(self.pkgPath)") + genArgs.append("install") - args.append("\(self.dirPath)") + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.bundle_path_or_url.description] - c.arguments = .init(args) + c.arguments = .init(genArgs) - return c + return c + } } - } - public func forget(packageId: String) -> ForgetCommand { - ForgetCommand(self, packageId: packageId) - } + // Print a list of IDs of available Swift SDKs available on the filesystem. + public func list(_ options: listCommand.Option...) -> listCommand { + self.list(options) + } - public struct ForgetCommand { - public var pkgutil: PkgutilCommand + // Print a list of IDs of available Swift SDKs available on the filesystem. + public func list(_ options: [listCommand.Option]) -> listCommand { + listCommand(parent: self, options) + } + + public struct listCommand { + public var parent: sdkCommand + public var options: [Option] + + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } + + public init(parent: sdkCommand, _ options: [listCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("list") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } - public var packageId: String + c.arguments = .init(genArgs) - public init(_ pkgutil: PkgutilCommand, packageId: String) { - self.pkgutil = pkgutil - self.packageId = packageId + return c + } } - public func config() -> Configuration { - var c: Configuration = self.pkgutil.config() + // Removes a previously installed Swift SDK bundle from the filesystem. + public func remove(_ options: removeCommand.Option..., sdk_id_or_bundle_name: String) -> removeCommand { + self.remove(options, sdk_id_or_bundle_name: sdk_id_or_bundle_name) + } - var args = c.arguments.storage.map(\.description) + // Removes a previously installed Swift SDK bundle from the filesystem. + public func remove(_ options: [removeCommand.Option], sdk_id_or_bundle_name: String) -> removeCommand { + removeCommand(parent: self, options, sdk_id_or_bundle_name: sdk_id_or_bundle_name) + } - args.append("--forget") + public struct removeCommand { + public var parent: sdkCommand + public var options: [Option] + public var sdk_id_or_bundle_name: String - args.append("\(self.packageId)") + public enum Option { + case package_path(String) + case cache_path(String) + case config_path(String) + case security_path(String) + case scratch_path(String) + case build_path(String) + case multiroot_data_file(String) + case destination(String) + case experimental_swift_sdks_path(String) + case swift_sdks_path(String) + case toolset(String) + case pkg_config_path(String) + case ignore_lock + case version + case help + + public func args() -> [String] { + switch self { + case let .package_path(package_path): + ["--package-path", String(describing: package_path)] + case let .cache_path(cache_path): + ["--cache-path", String(describing: cache_path)] + case let .config_path(config_path): + ["--config-path", String(describing: config_path)] + case let .security_path(security_path): + ["--security-path", String(describing: security_path)] + case let .scratch_path(scratch_path): + ["--scratch-path", String(describing: scratch_path)] + case let .build_path(build_path): + ["--build-path", String(describing: build_path)] + case let .multiroot_data_file(multiroot_data_file): + ["--multiroot-data-file", String(describing: multiroot_data_file)] + case let .destination(destination): + ["--destination", String(describing: destination)] + case let .experimental_swift_sdks_path(experimental_swift_sdks_path): + ["--experimental-swift-sdks-path", String(describing: experimental_swift_sdks_path)] + case let .swift_sdks_path(swift_sdks_path): + ["--swift-sdks-path", String(describing: swift_sdks_path)] + case let .toolset(toolset): + ["--toolset", String(describing: toolset)] + case let .pkg_config_path(pkg_config_path): + ["--pkg-config-path", String(describing: pkg_config_path)] + case .ignore_lock: + ["--ignore-lock"] + case .version: + ["--version"] + case .help: + ["--help"] + } + } + } - c.arguments = .init(args) + public init(parent: sdkCommand, _ options: [removeCommand.Option], sdk_id_or_bundle_name: String) { + self.parent = parent + self.options = options + self.sdk_id_or_bundle_name = sdk_id_or_bundle_name + } - return c + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("remove") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + genArgs += [self.sdk_id_or_bundle_name.description] + + c.arguments = .init(genArgs) + + return c + } } } } } -extension SystemCommand.PkgutilCommand.CheckSignatureCommand: Runnable {} -extension SystemCommand.PkgutilCommand.ExpandCommand: Runnable {} -extension SystemCommand.PkgutilCommand.ForgetCommand: Runnable {} - extension SystemCommand { - // system software and package installer tool. - // See installer(1) for more information - public static func installer(executable: Executable = InstallerCommand.defaultExecutable, _ options: InstallerCommand.Option..., pkg: FilePath, target: String) -> InstallerCommand { - self.installer(executable: executable, options, pkg: pkg, target: target) + // manipulate tape archives. See tar(1) for more information. + public static func tar(executable: Executable = tarCommand.defaultExecutable, _ options: tarCommand.Option...) -> tarCommand { + Self.tar(executable: executable, options) } - public static func installer(executable: Executable = InstallerCommand.defaultExecutable, _ options: [InstallerCommand.Option], pkg: FilePath, target: String) -> InstallerCommand { - InstallerCommand(executable: executable, options, pkg: pkg, target: target) + // manipulate tape archives. See tar(1) for more information. + public static func tar(executable: Executable = tarCommand.defaultExecutable, _ options: [tarCommand.Option]) -> tarCommand { + tarCommand(executable: executable, options) } - public struct InstallerCommand { - public static var defaultExecutable: Executable { .name("installer") } - + public struct tarCommand { + public static var defaultExecutable: Executable { .name("tar") } public var executable: Executable - public var options: [Option] - public var pkg: FilePath - - public var target: String - public enum Option { - case verbose + case directory(FilePath) public func args() -> [String] { switch self { - case .verbose: - ["-verbose"] + case let .directory(directory): + ["-C", String(describing: directory)] } } } - public init(executable: Executable, _ options: [Option], pkg: FilePath, target: String) { + public init(executable: Executable, _ options: [tarCommand.Option]) { self.executable = executable self.options = options - self.pkg = pkg - self.target = target } public func config() -> Configuration { - var args: [String] = [] + var genArgs: [String] = [] for opt in self.options { - args.append(contentsOf: opt.args()) + genArgs.append(contentsOf: opt.args()) } - args.append(contentsOf: ["-pkg", "\(self.pkg)"]) - args.append(contentsOf: ["-target", self.target]) - return Configuration( executable: self.executable, - arguments: Arguments(args), + arguments: Arguments(genArgs), environment: .inherit ) } + + public func create(_ options: createCommand.Option..., files: [FilePath]?) -> createCommand { + self.create(options, files: files) + } + + public func create(_ options: [createCommand.Option], files: [FilePath]?) -> createCommand { + createCommand(parent: self, options, files: files) + } + + public struct createCommand { + public var parent: tarCommand + public var options: [Option] + public var files: [FilePath]? + + public enum Option { + case archive(FilePath) + case compressed + case verbose + + public func args() -> [String] { + switch self { + case let .archive(archive): + ["--file", String(describing: archive)] + case .compressed: + ["-z"] + case .verbose: + ["-v"] + } + } + } + + public init(parent: tarCommand, _ options: [createCommand.Option], files: [FilePath]?) { + self.parent = parent + self.options = options + self.files = files + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("--create") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + if let files = self.files { genArgs += files.map(\.description) } + + c.arguments = .init(genArgs) + + return c + } + } + + public func extract(_ options: extractCommand.Option...) -> extractCommand { + self.extract(options) + } + + public func extract(_ options: [extractCommand.Option]) -> extractCommand { + extractCommand(parent: self, options) + } + + public struct extractCommand { + public var parent: tarCommand + public var options: [Option] + + public enum Option { + case archive(FilePath) + case compressed + case verbose + + public func args() -> [String] { + switch self { + case let .archive(archive): + ["--file", String(describing: archive)] + case .compressed: + ["-z"] + case .verbose: + ["-v"] + } + } + } + + public init(parent: tarCommand, _ options: [extractCommand.Option]) { + self.parent = parent + self.options = options + } + + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\.description) + + genArgs.append("--extract") + + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + + c.arguments = .init(genArgs) + + return c + } + } } } - -extension SystemCommand.InstallerCommand: Runnable {} diff --git a/Sources/SwiftlyCore/ModeledCommandLine.swift b/Sources/SwiftlyCore/ModeledCommandLine.swift index 94c07622..c291f13b 100644 --- a/Sources/SwiftlyCore/ModeledCommandLine.swift +++ b/Sources/SwiftlyCore/ModeledCommandLine.swift @@ -212,3 +212,5 @@ extension Output { return try await p.runProgramOutput(executable, args, env: env) } } + +public enum SystemCommand {} diff --git a/Sources/SwiftlyCore/dscl-ext.json b/Sources/SwiftlyCore/dscl-ext.json new file mode 100644 index 00000000..bedf5027 --- /dev/null +++ b/Sources/SwiftlyCore/dscl-ext.json @@ -0,0 +1,8 @@ +{ + "arguments": [ + { + "path": "-read.path", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/dscl.json b/Sources/SwiftlyCore/dscl.json new file mode 100644 index 00000000..5277e0d1 --- /dev/null +++ b/Sources/SwiftlyCore/dscl.json @@ -0,0 +1,52 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "dscl", + "abstract": "Directory Service command line utility for macOS. See dscl(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "datasource" + } + ], + "preferredName": { + "kind": "long", + "name": "datasource" + }, + "valueName": "datasource", + "isOptional": true, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true + } + ], + "subcommands": [ + { + "commandName": "-read", + "superCommands": [ + "dscl" + ], + "shouldDisplay": true, + "arguments": [ + { + "valueName": "path", + "shouldDisplay": true, + "kind": "positional", + "isOptional": true, + "isRepeating": false + }, + { + "valueName": "key", + "shouldDisplay": true, + "kind": "positional", + "isOptional": true, + "isRepeating": true + } + ] + } + ] + } +} diff --git a/Sources/SwiftlyCore/getent.json b/Sources/SwiftlyCore/getent.json new file mode 100644 index 00000000..d9c68894 --- /dev/null +++ b/Sources/SwiftlyCore/getent.json @@ -0,0 +1,24 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "getent", + "abstract": "get entries from Name Service Switch libraries. See getent(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "valueName": "database", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true + }, + { + "valueName": "key", + "isOptional": false, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true + } + ] + } +} diff --git a/Sources/SwiftlyCore/git-ext.json b/Sources/SwiftlyCore/git-ext.json new file mode 100644 index 00000000..aaab4811 --- /dev/null +++ b/Sources/SwiftlyCore/git-ext.json @@ -0,0 +1,8 @@ +{ + "arguments": [ + { + "path": "workingDir", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/git.json b/Sources/SwiftlyCore/git.json new file mode 100644 index 00000000..1f47f807 --- /dev/null +++ b/Sources/SwiftlyCore/git.json @@ -0,0 +1,172 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "git", + "abstract": "the stupid content tracker. See git(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "short", + "name": "C" + } + ], + "preferredName": { + "kind": "short", + "name": "C" + }, + "valueName": "workingDir", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + } + ], + "subcommands": [ + { + "commandName": "init", + "superCommands": [ + "git" + ], + "shouldDisplay": true, + }, + { + "commandName": "commit", + "superCommands": [ + "git" + ], + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "allow-empty" + } + ], + "preferredName": { + "kind": "long", + "name": "allow-empty" + }, + "valueName": "allow-empty", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "long", + "name": "allow-empty-message" + } + ], + "preferredName": { + "kind": "long", + "name": "allow-empty-message" + }, + "valueName": "allow-empty-message", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "long", + "name": "message" + } + ], + "preferredName": { + "kind": "long", + "name": "message" + }, + "valueName": "message", + "shouldDisplay": true, + "kind": "option", + "isOptional": true, + "isRepeating": true + } + ] + }, + { + "commandName": "log", + "superCommands": [ + "git" + ], + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "max-count" + } + ], + "preferredName": { + "kind": "long", + "name": "max-count" + }, + "valueName": "max-count", + "shouldDisplay": true, + "kind": "option", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "long", + "name": "pretty" + } + ], + "preferredName": { + "kind": "long", + "name": "pretty" + }, + "valueName": "pretty", + "shouldDisplay": true, + "kind": "option", + "isOptional": true, + "isRepeating": true + } + ] + }, + { + "commandName": "diff-index", + "superCommands": [ + "git" + ], + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "quiet" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "valueName": "quiet", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + }, + { + "valueName": "tree-ish", + "shouldDisplay": true, + "kind": "positional", + "isOptional": false, + "isRepeating": false + } + ] + } + ] + } +} diff --git a/Sources/SwiftlyCore/gpg-ext.json b/Sources/SwiftlyCore/gpg-ext.json new file mode 100644 index 00000000..52b9b29a --- /dev/null +++ b/Sources/SwiftlyCore/gpg-ext.json @@ -0,0 +1,16 @@ +{ + "arguments": [ + { + "path": "--import.key", + "type": "file" + }, + { + "path": "--verify.detached-signature", + "type": "file" + }, + { + "path": "--verify.signed-data", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/gpg.json b/Sources/SwiftlyCore/gpg.json new file mode 100644 index 00000000..d3b424ed --- /dev/null +++ b/Sources/SwiftlyCore/gpg.json @@ -0,0 +1,49 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "gpg", + "abstract": "OpenPGP encryption and signing tool. See gpg(1) for more information.", + "shouldDisplay": true, + "subcommands": [ + { + "commandName": "--import", + "superCommands": [ + "gpg" + ], + "shouldDisplay": true, + "arguments": [ + { + "valueName": "key", + "shouldDisplay": true, + "kind": "positional", + "isOptional": false, + "isRepeating": true + } + ] + }, + { + "commandName": "--verify", + "superCommands": [ + "gpg" + ], + "shouldDisplay": true, + "arguments": [ + { + "valueName": "detached-signature", + "shouldDisplay": true, + "kind": "positional", + "isOptional": true, + "isRepeating": false + }, + { + "valueName": "signed-data", + "shouldDisplay": true, + "kind": "positional", + "isOptional": true, + "isRepeating": false + } + ] + } + ] + } +} diff --git a/Sources/SwiftlyCore/installer-ext.json b/Sources/SwiftlyCore/installer-ext.json new file mode 100644 index 00000000..d94c64b4 --- /dev/null +++ b/Sources/SwiftlyCore/installer-ext.json @@ -0,0 +1,9 @@ +{ + "optionsSingleDash": true, + "arguments": [ + { + "path": "pkg", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/installer.json b/Sources/SwiftlyCore/installer.json new file mode 100644 index 00000000..c5d38411 --- /dev/null +++ b/Sources/SwiftlyCore/installer.json @@ -0,0 +1,61 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "installer", + "abstract": "system software and package installer tool. See installer(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "verbose" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "valueName": "verbose", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "long", + "name": "pkg" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg" + }, + "valueName": "pkg", + "shouldDisplay": true, + "kind": "option", + "isOptional": false, + "isRepeating": false + }, + { + "names": [ + { + "kind": "long", + "name": "target" + } + ], + "preferredName": { + "kind": "long", + "name": "target" + }, + "valueName": "target", + "shouldDisplay": true, + "kind": "option", + "isOptional": false, + "isRepeating": false + } + ] + } +} diff --git a/Sources/SwiftlyCore/lipo-ext.json b/Sources/SwiftlyCore/lipo-ext.json new file mode 100644 index 00000000..ba5c9146 --- /dev/null +++ b/Sources/SwiftlyCore/lipo-ext.json @@ -0,0 +1,13 @@ +{ + "optionsSingleDash": true, + "arguments": [ + { + "path": "input_file", + "type": "file" + }, + { + "path": "-create.output", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/lipo.json b/Sources/SwiftlyCore/lipo.json new file mode 100644 index 00000000..fb08d511 --- /dev/null +++ b/Sources/SwiftlyCore/lipo.json @@ -0,0 +1,45 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "lipo", + "abstract": "Create or operate on universal files. See lipo(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "valueName": "input_file", + "isOptional": false, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true + } + ], + "subcommands": [ + { + "commandName": "-create", + "superCommands": [ + "lipo" + ], + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "output" + } + ], + "preferredName": { + "kind": "long", + "name": "output" + }, + "valueName": "output", + "shouldDisplay": true, + "kind": "option", + "isOptional": false, + "isRepeating": false + } + ] + } + ] + } +} diff --git a/Sources/SwiftlyCore/make.json b/Sources/SwiftlyCore/make.json new file mode 100644 index 00000000..b86f38d9 --- /dev/null +++ b/Sources/SwiftlyCore/make.json @@ -0,0 +1,17 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "make", + "abstract": "make utility to maintain groups of programs. See make(1) for more information.", + "shouldDisplay": true, + "subcommands": [ + { + "commandName": "install", + "superCommands": [ + "make" + ], + "shouldDisplay": true, + } + ] + } +} diff --git a/Sources/SwiftlyCore/pkgbuild-ext.json b/Sources/SwiftlyCore/pkgbuild-ext.json new file mode 100644 index 00000000..ad8ab9f3 --- /dev/null +++ b/Sources/SwiftlyCore/pkgbuild-ext.json @@ -0,0 +1,16 @@ +{ + "arguments": [ + { + "path": "package-output-path", + "type": "file" + }, + { + "path": "root", + "type": "file" + }, + { + "path": "install-location", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/pkgbuild.json b/Sources/SwiftlyCore/pkgbuild.json new file mode 100644 index 00000000..97f2fbe5 --- /dev/null +++ b/Sources/SwiftlyCore/pkgbuild.json @@ -0,0 +1,102 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "pkgbuild", + "abstract": "Build a macOS Installer component package from on-disk files. See pkgbuild(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "sign" + } + ], + "preferredName": { + "kind": "long", + "name": "sign" + }, + "valueName": "sign", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "identifier" + } + ], + "preferredName": { + "kind": "long", + "name": "identifier" + }, + "valueName": "identifier", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "valueName": "version", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "install-location" + } + ], + "preferredName": { + "kind": "long", + "name": "install-location" + }, + "valueName": "install-location", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "root" + } + ], + "preferredName": { + "kind": "long", + "name": "root" + }, + "valueName": "root", + "isOptional": false, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "valueName": "package-output-path", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true + } + ] + } +} diff --git a/Sources/SwiftlyCore/pkgutil-ext.json b/Sources/SwiftlyCore/pkgutil-ext.json new file mode 100644 index 00000000..5ee11b8e --- /dev/null +++ b/Sources/SwiftlyCore/pkgutil-ext.json @@ -0,0 +1,20 @@ +{ + "arguments": [ + { + "path": "volume", + "type": "file" + }, + { + "path": "--check-signature.pkg-path", + "type": "file" + }, + { + "path": "--expand.pkg-path", + "type": "file" + }, + { + "path": "--expand.dir-path", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/pkgutil.json b/Sources/SwiftlyCore/pkgutil.json new file mode 100644 index 00000000..85dd3149 --- /dev/null +++ b/Sources/SwiftlyCore/pkgutil.json @@ -0,0 +1,101 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "pkgutil", + "abstract": "Query and manipulate macOS Installer packages and receipts. See pkgutil(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "verbose" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "valueName": "verbose", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "long", + "name": "volume" + } + ], + "preferredName": { + "kind": "long", + "name": "volume" + }, + "valueName": "volume", + "shouldDisplay": true, + "kind": "option", + "isOptional": true, + "isRepeating": false + } + ], + "subcommands": [ + { + "commandName": "--check-signature", + "superCommands": [ + "pkgutil" + ], + "shouldDisplay": true, + "arguments": [ + { + "valueName": "pkg-path", + "shouldDisplay": true, + "kind": "positional", + "isOptional": false, + "isRepeating": false + } + ] + }, + { + "commandName": "--expand", + "superCommands": [ + "pkgutil" + ], + "shouldDisplay": true, + "arguments": [ + { + "valueName": "pkg-path", + "shouldDisplay": true, + "kind": "positional", + "isOptional": false, + "isRepeating": false + }, + { + "valueName": "dir-path", + "shouldDisplay": true, + "kind": "positional", + "isOptional": false, + "isRepeating": false + } + ] + }, + { + "commandName": "--forget", + "superCommands": [ + "pkgutil" + ], + "shouldDisplay": true, + "arguments": [ + { + "valueName": "pkg-id", + "shouldDisplay": true, + "kind": "positional", + "isOptional": false, + "isRepeating": false + } + ] + }, + ] + } +} diff --git a/Sources/SwiftlyCore/productbuild-ext.json b/Sources/SwiftlyCore/productbuild-ext.json new file mode 100644 index 00000000..5112c288 --- /dev/null +++ b/Sources/SwiftlyCore/productbuild-ext.json @@ -0,0 +1,20 @@ +{ + "arguments": [ + { + "path": "output-path", + "type": "file" + }, + { + "path": "pkg-path", + "type": "file" + }, + { + "path": "dist-path", + "type": "file" + }, + { + "path": "search-path", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/productbuild.json b/Sources/SwiftlyCore/productbuild.json new file mode 100644 index 00000000..68f4f45d --- /dev/null +++ b/Sources/SwiftlyCore/productbuild.json @@ -0,0 +1,102 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "productbuild", + "abstract": "Build a product archive for the macOS Installer or the Mac App Store. See productbuild(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "synthesize" + } + ], + "preferredName": { + "kind": "long", + "name": "synthesize" + }, + "valueName": "synthesize", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "distribution" + } + ], + "preferredName": { + "kind": "long", + "name": "distribution" + }, + "valueName": "dist-path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "package" + } + ], + "preferredName": { + "kind": "long", + "name": "package" + }, + "valueName": "pkg-path", + "isOptional": false, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "valueName": "search-path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "sign" + } + ], + "preferredName": { + "kind": "long", + "name": "sign" + }, + "valueName": "cert", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + }, + { + "valueName": "output-path", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true + } + ] + } +} diff --git a/Sources/SwiftlyCore/sha256sum-ext.json b/Sources/SwiftlyCore/sha256sum-ext.json new file mode 100644 index 00000000..f341f556 --- /dev/null +++ b/Sources/SwiftlyCore/sha256sum-ext.json @@ -0,0 +1,8 @@ +{ + "arguments": [ + { + "path": "files", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/sha256sum.json b/Sources/SwiftlyCore/sha256sum.json new file mode 100644 index 00000000..d515e2b8 --- /dev/null +++ b/Sources/SwiftlyCore/sha256sum.json @@ -0,0 +1,44 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "sha256sum", + "abstract": "calculate a message-digest fingerprint (checksum) for a file. See sha256sum(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "files" + } + ], + "preferredName": { + "kind": "long", + "name": "files" + }, + "valueName": "files", + "isOptional": false, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true + }, + { + "names": [ + { + "kind": "long", + "name": "verbose" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "valueName": "verbose", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "shouldDisplay": true + } + ] + } +} diff --git a/Sources/SwiftlyCore/strip-ext.json b/Sources/SwiftlyCore/strip-ext.json new file mode 100644 index 00000000..4700bd8b --- /dev/null +++ b/Sources/SwiftlyCore/strip-ext.json @@ -0,0 +1,8 @@ +{ + "arguments": [ + { + "path": "name", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/strip.json b/Sources/SwiftlyCore/strip.json new file mode 100644 index 00000000..f089e44d --- /dev/null +++ b/Sources/SwiftlyCore/strip.json @@ -0,0 +1,17 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "strip", + "abstract": "remove symbols. See strip(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "valueName": "name", + "isOptional": false, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true + } + ] + } +} diff --git a/Sources/SwiftlyCore/swift-ext.json b/Sources/SwiftlyCore/swift-ext.json new file mode 100644 index 00000000..de4276b3 --- /dev/null +++ b/Sources/SwiftlyCore/swift-ext.json @@ -0,0 +1,16 @@ +{ + "arguments": [ + { + "path": "build.pkg-config-path", + "type": "file" + }, + { + "path": "package.init.package-path", + "type": "file" + }, + { + "path": "build.package-path", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/swift.json b/Sources/SwiftlyCore/swift.json new file mode 100644 index 00000000..01166034 --- /dev/null +++ b/Sources/SwiftlyCore/swift.json @@ -0,0 +1,52259 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "swift", + "abstract": "Swift compiler", + "subcommands": [ + { + "abstract": "Build sources into binary products", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Build both source and test targets", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "build-tests" + } + ], + "preferredName": { + "kind": "long", + "name": "build-tests" + }, + "shouldDisplay": true, + "valueName": "build-tests" + }, + { + "abstract": "Enable code coverage", + "defaultValue": "--disable-code-coverage", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-code-coverage" + }, + { + "kind": "long", + "name": "disable-code-coverage" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-code-coverage" + }, + "shouldDisplay": true, + "valueName": "enable-code-coverage" + }, + { + "abstract": "Print the binary output path", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "show-bin-path" + } + ], + "preferredName": { + "kind": "long", + "name": "show-bin-path" + }, + "shouldDisplay": true, + "valueName": "show-bin-path" + }, + { + "abstract": "Write the command graph for the build manifest as a graphviz file", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "print-manifest-job-graph" + } + ], + "preferredName": { + "kind": "long", + "name": "print-manifest-job-graph" + }, + "shouldDisplay": true, + "valueName": "print-manifest-job-graph" + }, + { + "abstract": "Build the specified target", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "target" + } + ], + "preferredName": { + "kind": "long", + "name": "target" + }, + "shouldDisplay": true, + "valueName": "target" + }, + { + "abstract": "Build the specified product", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "product" + } + ], + "preferredName": { + "kind": "long", + "name": "product" + }, + "shouldDisplay": true, + "valueName": "product" + }, + { + "abstract": "Enable support for XCTest", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-xctest" + }, + { + "kind": "long", + "name": "disable-xctest" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-xctest" + }, + "shouldDisplay": true, + "valueName": "enable-xctest" + }, + { + "abstract": "Enable support for Swift Testing", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-swift-testing" + }, + { + "kind": "long", + "name": "disable-swift-testing" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-swift-testing" + }, + "shouldDisplay": true, + "valueName": "enable-swift-testing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-swift-testing" + }, + { + "kind": "long", + "name": "disable-experimental-swift-testing" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-swift-testing" + }, + "shouldDisplay": false, + "valueName": "enable-experimental-swift-testing" + }, + { + "abstract": "Enables the passed traits of the package. Multiple traits can be specified by providing a comma separated list e.g. `--traits Trait1,Trait2`. When enabling specific traits the defaults traits need to explictily enabled as well by passing `defaults` to this command.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "traits" + } + ], + "preferredName": { + "kind": "long", + "name": "traits" + }, + "shouldDisplay": true, + "valueName": "traits" + }, + { + "abstract": "Enables all traits of the package.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-all-traits" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-all-traits" + }, + "shouldDisplay": true, + "valueName": "enable-all-traits" + }, + { + "abstract": "Disables all default traits of the package.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-default-traits" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-default-traits" + }, + "shouldDisplay": true, + "valueName": "disable-default-traits" + }, + { + "abstract": "Link Swift stdlib statically", + "defaultValue": "--no-static-swift-stdlib", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "static-swift-stdlib" + }, + { + "kind": "long", + "name": "no-static-swift-stdlib" + } + ], + "preferredName": { + "kind": "long", + "name": "static-swift-stdlib" + }, + "shouldDisplay": true, + "valueName": "static-swift-stdlib" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "build", + "superCommands": [ + "swift" + ], + "discussion": "SEE ALSO: swift run, swift package, swift test" + }, + { + "abstract": "Perform operations on Swift packages", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "package", + "superCommands": [ + "swift" + ], + "discussion": "SEE ALSO: swift build, swift run, swift test", + "subcommands": [ + { + "abstract": "Add a package dependency to the manifest", + "arguments": [ + { + "abstract": "The URL or directory of the package to add", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "dependency" + }, + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The exact package version to depend on", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "exact" + } + ], + "preferredName": { + "kind": "long", + "name": "exact" + }, + "shouldDisplay": true, + "valueName": "exact" + }, + { + "abstract": "The specific package revision to depend on", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "revision" + } + ], + "preferredName": { + "kind": "long", + "name": "revision" + }, + "shouldDisplay": true, + "valueName": "revision" + }, + { + "abstract": "The branch of the package to depend on", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "branch" + } + ], + "preferredName": { + "kind": "long", + "name": "branch" + }, + "shouldDisplay": true, + "valueName": "branch" + }, + { + "abstract": "The package version to depend on (up to the next major version)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "from" + } + ], + "preferredName": { + "kind": "long", + "name": "from" + }, + "shouldDisplay": true, + "valueName": "from" + }, + { + "abstract": "The package version to depend on (up to the next minor version)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "up-to-next-minor-from" + } + ], + "preferredName": { + "kind": "long", + "name": "up-to-next-minor-from" + }, + "shouldDisplay": true, + "valueName": "up-to-next-minor-from" + }, + { + "abstract": "Specify upper bound on the package version range (exclusive)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "to" + } + ], + "preferredName": { + "kind": "long", + "name": "to" + }, + "shouldDisplay": true, + "valueName": "to" + }, + { + "abstract": "Specify dependency type", + "allValues": [ + "url", + "path", + "registry" + ], + "defaultValue": "url", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "type" + } + ], + "preferredName": { + "kind": "long", + "name": "type" + }, + "shouldDisplay": true, + "valueName": "type" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "add-dependency", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Add a new product to the manifest", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The name of the new product", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "name" + }, + { + "abstract": "The type of target to add", + "allValues": [ + "executable", + "library", + "static-library", + "dynamic-library", + "plugin" + ], + "defaultValue": "library", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "type" + } + ], + "preferredName": { + "kind": "long", + "name": "type" + }, + "shouldDisplay": true, + "valueName": "type" + }, + { + "abstract": "A list of targets that are part of this product", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "targets" + } + ], + "preferredName": { + "kind": "long", + "name": "targets" + }, + "shouldDisplay": true, + "valueName": "targets" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "add-product", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Add a new target to the manifest", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The name of the new target", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "name" + }, + { + "abstract": "The type of target to add", + "allValues": [ + "library", + "executable", + "test", + "macro" + ], + "defaultValue": "library", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "type" + } + ], + "preferredName": { + "kind": "long", + "name": "type" + }, + "shouldDisplay": true, + "valueName": "type" + }, + { + "abstract": "A list of target dependency names", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "dependencies" + } + ], + "preferredName": { + "kind": "long", + "name": "dependencies" + }, + "shouldDisplay": true, + "valueName": "dependencies" + }, + { + "abstract": "The URL for a remote binary target", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "url" + } + ], + "preferredName": { + "kind": "long", + "name": "url" + }, + "shouldDisplay": true, + "valueName": "url" + }, + { + "abstract": "The path to a local binary target", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "path" + } + ], + "preferredName": { + "kind": "long", + "name": "path" + }, + "shouldDisplay": true, + "valueName": "path" + }, + { + "abstract": "The checksum for a remote binary target", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "checksum" + } + ], + "preferredName": { + "kind": "long", + "name": "checksum" + }, + "shouldDisplay": true, + "valueName": "checksum" + }, + { + "abstract": "The testing library to use when generating test targets, which can be one of 'xctest', 'swift-testing', or 'none'", + "defaultValue": "xctest", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "testing-library" + } + ], + "preferredName": { + "kind": "long", + "name": "testing-library" + }, + "shouldDisplay": true, + "valueName": "testing-library" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "add-target", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Add a new target dependency to the manifest", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The name of the new dependency", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "dependency-name" + }, + { + "abstract": "The name of the target to update", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "target-name" + }, + { + "abstract": "The package in which the dependency resides", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package" + } + ], + "preferredName": { + "kind": "long", + "name": "package" + }, + "shouldDisplay": true, + "valueName": "package" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "add-target-dependency", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Delete build artifacts", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "clean", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Purge the global repository cache.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "purge-cache", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Reset the complete cache/build directory", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "reset", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Update package dependencies", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Display the list of dependencies that can be updated", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "dry-run" + }, + { + "kind": "short", + "name": "n" + } + ], + "preferredName": { + "kind": "long", + "name": "dry-run" + }, + "shouldDisplay": true, + "valueName": "dry-run" + }, + { + "abstract": "The packages to update", + "isOptional": true, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true, + "valueName": "packages" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "update", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Describe the current package", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Set the output format", + "allValues": [ + "json", + "text", + "mermaid" + ], + "defaultValue": "text", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "type" + } + ], + "preferredName": { + "kind": "long", + "name": "type" + }, + "shouldDisplay": true, + "valueName": "type" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "describe", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Initialize a new package", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Package type:", + "defaultValue": "library", + "discussion": "library - A package with a library.\nexecutable - A package with an executable.\ntool - A package with an executable that uses\n Swift Argument Parser. Use this template if you\n plan to have a rich set of command-line arguments.\nbuild-tool-plugin - A package that vends a build tool plugin.\ncommand-plugin - A package that vends a command plugin.\nmacro - A package that vends a macro.\nempty - An empty package with a Package.swift manifest.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "type" + } + ], + "preferredName": { + "kind": "long", + "name": "type" + }, + "shouldDisplay": true, + "valueName": "type" + }, + { + "abstract": "Enable support for XCTest", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-xctest" + }, + { + "kind": "long", + "name": "disable-xctest" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-xctest" + }, + "shouldDisplay": true, + "valueName": "enable-xctest" + }, + { + "abstract": "Enable support for Swift Testing", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-swift-testing" + }, + { + "kind": "long", + "name": "disable-swift-testing" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-swift-testing" + }, + "shouldDisplay": true, + "valueName": "enable-swift-testing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-swift-testing" + }, + { + "kind": "long", + "name": "disable-experimental-swift-testing" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-swift-testing" + }, + "shouldDisplay": false, + "valueName": "enable-experimental-swift-testing" + }, + { + "abstract": "Provide custom package name", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "name" + } + ], + "preferredName": { + "kind": "long", + "name": "name" + }, + "shouldDisplay": true, + "valueName": "name" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "init", + "superCommands": [ + "swift", + "package" + ] + }, + { + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Pass flag through to the swift-format tool", + "isOptional": true, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true, + "valueName": "swift-format-flags" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "_format", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Offers the ability to install executable products of the current package.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The name of the executable product to install", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "product" + } + ], + "preferredName": { + "kind": "long", + "name": "product" + }, + "shouldDisplay": true, + "valueName": "product" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "experimental-install", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Offers the ability to uninstall executable products previously installed by `swift package experimental-install`.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Name of the executable to uninstall.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "name" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "experimental-uninstall", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Diagnose API-breaking changes to Swift modules in a package", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The path to a text file containing breaking changes which should be ignored by the API comparison. Each ignored breaking change in the file should appear on its own line and contain the exact message to be ignored (e.g. 'API breakage: func foo() has been removed').", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "breakage-allowlist-path" + } + ], + "preferredName": { + "kind": "long", + "name": "breakage-allowlist-path" + }, + "shouldDisplay": true, + "valueName": "breakage-allowlist-path" + }, + { + "abstract": "The baseline treeish to compare to (e.g. a commit hash, branch name, tag, etc.)", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "treeish" + }, + { + "abstract": "One or more products to include in the API comparison. If present, only the specified products (and any targets specified using `--targets`) will be compared.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "products" + } + ], + "preferredName": { + "kind": "long", + "name": "products" + }, + "shouldDisplay": true, + "valueName": "products" + }, + { + "abstract": "One or more targets to include in the API comparison. If present, only the specified targets (and any products specified using `--products`) will be compared.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "targets" + } + ], + "preferredName": { + "kind": "long", + "name": "targets" + }, + "shouldDisplay": true, + "valueName": "targets" + }, + { + "abstract": "Enables the passed traits of the package. Multiple traits can be specified by providing a comma separated list e.g. `--traits Trait1,Trait2`. When enabling specific traits the defaults traits need to explictily enabled as well by passing `defaults` to this command.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "traits" + } + ], + "preferredName": { + "kind": "long", + "name": "traits" + }, + "shouldDisplay": true, + "valueName": "traits" + }, + { + "abstract": "Enables all traits of the package.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-all-traits" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-all-traits" + }, + "shouldDisplay": true, + "valueName": "enable-all-traits" + }, + { + "abstract": "Disables all default traits of the package.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-default-traits" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-default-traits" + }, + "shouldDisplay": true, + "valueName": "disable-default-traits" + }, + { + "abstract": "The path to a directory used to store API baseline files. If unspecified, a temporary directory will be used.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "baseline-dir" + } + ], + "preferredName": { + "kind": "long", + "name": "baseline-dir" + }, + "shouldDisplay": true, + "valueName": "baseline-dir" + }, + { + "abstract": "Regenerate the API baseline, even if an existing one is available.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "regenerate-baseline" + } + ], + "preferredName": { + "kind": "long", + "name": "regenerate-baseline" + }, + "shouldDisplay": true, + "valueName": "regenerate-baseline" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "diagnose-api-breaking-changes", + "discussion": "The diagnose-api-breaking-changes command can be used to compare the Swift API of a package to a baseline revision, diagnosing any breaking changes which have been introduced. By default, it compares every Swift module from the baseline revision which is part of a library product. For packages with many targets, this behavior may be undesirable as the comparison can be slow. The `--products` and `--targets` options may be used to restrict the scope of the comparison.", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Deprecated - use `swift package diagnose-api-breaking-changes` instead", + "arguments": [ + { + "isOptional": true, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true, + "valueName": "args" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "experimental-api-diff", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Dump Symbol Graph", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Pretty-print the output JSON.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "pretty-print" + } + ], + "preferredName": { + "kind": "long", + "name": "pretty-print" + }, + "shouldDisplay": true, + "valueName": "pretty-print" + }, + { + "abstract": "Skip members inherited through classes or default implementations.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-synthesized-members" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-synthesized-members" + }, + "shouldDisplay": true, + "valueName": "skip-synthesized-members" + }, + { + "abstract": "Include symbols with this access level or more. Possible values: private | fileprivate | internal | public | open", + "allValues": [ + "private", + "fileprivate", + "internal", + "public", + "open" + ], + "defaultValue": "public", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "minimum-access-level" + } + ], + "preferredName": { + "kind": "long", + "name": "minimum-access-level" + }, + "shouldDisplay": true, + "valueName": "minimum-access-level" + }, + { + "abstract": "Skip emitting doc comments for members inherited through classes or default implementations.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-inherited-docs" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-inherited-docs" + }, + "shouldDisplay": true, + "valueName": "skip-inherited-docs" + }, + { + "abstract": "Add symbols with SPI information to the symbol graph.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "include-spi-symbols" + } + ], + "preferredName": { + "kind": "long", + "name": "include-spi-symbols" + }, + "shouldDisplay": true, + "valueName": "include-spi-symbols" + }, + { + "abstract": "Emit extension block symbols for extensions to external types or directly associate members and conformances with the extended nominal.", + "defaultValue": "--omit-extension-block-symbols", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "emit-extension-block-symbols" + }, + { + "kind": "long", + "name": "omit-extension-block-symbols" + } + ], + "preferredName": { + "kind": "long", + "name": "emit-extension-block-symbols" + }, + "shouldDisplay": true, + "valueName": "emit-extension-block-symbols" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "dump-symbol-graph", + "superCommands": [ + "swift", + "package" + ] + }, + { + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Preserve the internal structure of PIF", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "preserve-structure" + } + ], + "preferredName": { + "kind": "long", + "name": "preserve-structure" + }, + "shouldDisplay": true, + "valueName": "preserve-structure" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "dump-pif", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Print parsed Package.swift as JSON", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "dump-package", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Put a package in editable mode", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The revision to edit", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "revision" + } + ], + "preferredName": { + "kind": "long", + "name": "revision" + }, + "shouldDisplay": true, + "valueName": "revision" + }, + { + "abstract": "The branch to create", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "branch" + } + ], + "preferredName": { + "kind": "long", + "name": "branch" + }, + "shouldDisplay": true, + "valueName": "branch" + }, + { + "abstract": "Create or use the checkout at this path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "path" + } + ], + "preferredName": { + "kind": "long", + "name": "path" + }, + "shouldDisplay": true, + "valueName": "path" + }, + { + "abstract": "The identity of the package to edit", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "package-identity" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "edit", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Remove a package from editable mode", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Unedit the package even if it has uncommitted and unpushed changes", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force" + } + ], + "preferredName": { + "kind": "long", + "name": "force" + }, + "shouldDisplay": true, + "valueName": "force" + }, + { + "abstract": "The identity of the package to unedit", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "package-identity" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "unedit", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Manipulate configuration of the package", + "arguments": [ + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "config", + "subcommands": [ + { + "abstract": "Set a mirror for a dependency", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-url" + } + ], + "preferredName": { + "kind": "long", + "name": "package-url" + }, + "shouldDisplay": false, + "valueName": "package-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "original-url" + } + ], + "preferredName": { + "kind": "long", + "name": "original-url" + }, + "shouldDisplay": false, + "valueName": "original-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "mirror-url" + } + ], + "preferredName": { + "kind": "long", + "name": "mirror-url" + }, + "shouldDisplay": false, + "valueName": "mirror-url" + }, + { + "abstract": "The original url or identity", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "original" + } + ], + "preferredName": { + "kind": "long", + "name": "original" + }, + "shouldDisplay": true, + "valueName": "original" + }, + { + "abstract": "The mirror url or identity", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "mirror" + } + ], + "preferredName": { + "kind": "long", + "name": "mirror" + }, + "shouldDisplay": true, + "valueName": "mirror" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "set-mirror", + "superCommands": [ + "swift", + "package", + "config" + ] + }, + { + "abstract": "Remove an existing mirror", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-url" + } + ], + "preferredName": { + "kind": "long", + "name": "package-url" + }, + "shouldDisplay": false, + "valueName": "package-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "original-url" + } + ], + "preferredName": { + "kind": "long", + "name": "original-url" + }, + "shouldDisplay": false, + "valueName": "original-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "mirror-url" + } + ], + "preferredName": { + "kind": "long", + "name": "mirror-url" + }, + "shouldDisplay": false, + "valueName": "mirror-url" + }, + { + "abstract": "The original url or identity", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "original" + } + ], + "preferredName": { + "kind": "long", + "name": "original" + }, + "shouldDisplay": true, + "valueName": "original" + }, + { + "abstract": "The mirror url or identity", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "mirror" + } + ], + "preferredName": { + "kind": "long", + "name": "mirror" + }, + "shouldDisplay": true, + "valueName": "mirror" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "unset-mirror", + "superCommands": [ + "swift", + "package", + "config" + ] + }, + { + "abstract": "Print mirror configuration for the given package dependency", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-url" + } + ], + "preferredName": { + "kind": "long", + "name": "package-url" + }, + "shouldDisplay": false, + "valueName": "package-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "original-url" + } + ], + "preferredName": { + "kind": "long", + "name": "original-url" + }, + "shouldDisplay": false, + "valueName": "original-url" + }, + { + "abstract": "The original url or identity", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "original" + } + ], + "preferredName": { + "kind": "long", + "name": "original" + }, + "shouldDisplay": true, + "valueName": "original" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "get-mirror", + "superCommands": [ + "swift", + "package", + "config" + ] + } + ], + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Resolve package dependencies", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The version to resolve at", + "isOptional": false, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "The branch to resolve at", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "branch" + } + ], + "preferredName": { + "kind": "long", + "name": "branch" + }, + "shouldDisplay": true, + "valueName": "branch" + }, + { + "abstract": "The revision to resolve at", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "revision" + } + ], + "preferredName": { + "kind": "long", + "name": "revision" + }, + "shouldDisplay": true, + "valueName": "revision" + }, + { + "abstract": "The name of the package to resolve", + "isOptional": true, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "package-name" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version2" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "resolve", + "superCommands": [ + "swift", + "package" + ] + }, + { + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The version to resolve at", + "isOptional": false, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version2" + }, + { + "abstract": "The branch to resolve at", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "branch" + } + ], + "preferredName": { + "kind": "long", + "name": "branch" + }, + "shouldDisplay": true, + "valueName": "branch" + }, + { + "abstract": "The revision to resolve at", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "revision" + } + ], + "preferredName": { + "kind": "long", + "name": "revision" + }, + "shouldDisplay": true, + "valueName": "revision" + }, + { + "abstract": "The name of the package to resolve", + "isOptional": true, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "package-name" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version3" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "fetch", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Print the resolved dependency graph", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Set the output format", + "allValues": [ + "text", + "dot", + "json", + "flatlist" + ], + "defaultValue": "text", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "format" + } + ], + "preferredName": { + "kind": "long", + "name": "format" + }, + "shouldDisplay": true, + "valueName": "format" + }, + { + "abstract": "The absolute or relative path to output the resolved dependency graph.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "output-path" + }, + { + "kind": "short", + "name": "o" + } + ], + "preferredName": { + "kind": "long", + "name": "output-path" + }, + "shouldDisplay": true, + "valueName": "output-path" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "show-dependencies", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "List the available executables from this package.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Set the output format.", + "allValues": [ + "flatlist", + "json" + ], + "defaultValue": "flatlist", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "format" + } + ], + "preferredName": { + "kind": "long", + "name": "format" + }, + "shouldDisplay": true, + "valueName": "format" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "show-executables", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Manipulate tools version of the current package", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Set tools version of package to the current tools version in use", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "set-current" + } + ], + "preferredName": { + "kind": "long", + "name": "set-current" + }, + "shouldDisplay": true, + "valueName": "set-current" + }, + { + "abstract": "Set tools version of package to the given value", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "set" + } + ], + "preferredName": { + "kind": "long", + "name": "set" + }, + "shouldDisplay": true, + "valueName": "set" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "tools-version", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Compute the checksum for a binary artifact.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The absolute or relative path to the binary artifact", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "path" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "compute-checksum", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Create a source archive for the package", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "The absolute or relative path for the generated source archive", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "short", + "name": "o" + }, + { + "kind": "long", + "name": "output" + } + ], + "preferredName": { + "kind": "long", + "name": "output" + }, + "shouldDisplay": true, + "valueName": "output" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "archive-source", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Completion command (for shell completions)", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Type of completions to list", + "allValues": [ + "generate-bash-script", + "generate-zsh-script", + "generate-fish-script", + "list-dependencies", + "list-executables", + "list-snippets" + ], + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "mode" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "completion-tool", + "superCommands": [ + "swift", + "package" + ] + }, + { + "abstract": "Invoke a command plugin or perform other actions on command plugins", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "List the available command plugins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "list" + } + ], + "preferredName": { + "kind": "long", + "name": "list" + }, + "shouldDisplay": true, + "valueName": "list" + }, + { + "abstract": "Allow the plugin to write to the package directory", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "allow-writing-to-package-directory" + } + ], + "preferredName": { + "kind": "long", + "name": "allow-writing-to-package-directory" + }, + "shouldDisplay": true, + "valueName": "allow-writing-to-package-directory" + }, + { + "abstract": "Allow the plugin to write to an additional directory", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "allow-writing-to-directory" + } + ], + "preferredName": { + "kind": "long", + "name": "allow-writing-to-directory" + }, + "shouldDisplay": true, + "valueName": "allow-writing-to-directory" + }, + { + "allValues": [ + "none", + "local(ports: [])", + "all(ports: [])", + "docker", + "unixDomainSocket" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "allow-network-connections" + } + ], + "preferredName": { + "kind": "long", + "name": "allow-network-connections" + }, + "shouldDisplay": true, + "valueName": "allow-network-connections" + }, + { + "abstract": "Limit available plugins to a single package with the given identity", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package" + } + ], + "preferredName": { + "kind": "long", + "name": "package" + }, + "shouldDisplay": true, + "valueName": "package" + }, + { + "abstract": "Verb of the command plugin to invoke", + "isOptional": true, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "command" + }, + { + "abstract": "Arguments to pass to the command plugin", + "isOptional": true, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true, + "valueName": "arguments" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "plugin", + "superCommands": [ + "swift", + "package" + ] + }, + { + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Use a shared cache when fetching dependencies", + "defaultValue": "--enable-dependency-cache", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dependency-cache" + }, + { + "kind": "long", + "name": "disable-dependency-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dependency-cache" + }, + "shouldDisplay": true, + "valueName": "enable-dependency-cache" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-package-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-package-manifest-caching" + }, + "shouldDisplay": false, + "valueName": "disable-package-manifest-caching" + }, + { + "defaultValue": "--enable-build-manifest-caching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + { + "kind": "long", + "name": "disable-build-manifest-caching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-build-manifest-caching" + }, + "shouldDisplay": true, + "valueName": "enable-build-manifest-caching" + }, + { + "abstract": "Caching mode of Package.swift manifests (shared: shared cache, local: package's build directory, none: disabled)", + "defaultValue": "shared", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "manifest-cache" + } + ], + "preferredName": { + "kind": "long", + "name": "manifest-cache" + }, + "shouldDisplay": true, + "valueName": "manifest-cache" + }, + { + "abstract": "Whether to use prebuilt swift-syntax libraries for macros", + "defaultValue": "--disable-experimental-prebuilts", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + { + "kind": "long", + "name": "disable-experimental-prebuilts" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-experimental-prebuilts" + }, + "shouldDisplay": true, + "valueName": "enable-experimental-prebuilts" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-download-url" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-download-url" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-download-url" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prebuilts-root-cert" + }, + "shouldDisplay": false, + "valueName": "experimental-prebuilts-root-cert" + }, + { + "abstract": "Increase verbosity to include informational output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "verbose" + }, + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "long", + "name": "verbose" + }, + "shouldDisplay": true, + "valueName": "verbose" + }, + { + "abstract": "Increase verbosity to include debug output", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "very-verbose" + }, + { + "kind": "long", + "name": "vv" + } + ], + "preferredName": { + "kind": "long", + "name": "very-verbose" + }, + "shouldDisplay": true, + "valueName": "very-verbose" + }, + { + "abstract": "Decrease verbosity to only include error output.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "quiet" + }, + { + "kind": "short", + "name": "q" + } + ], + "preferredName": { + "kind": "long", + "name": "quiet" + }, + "shouldDisplay": true, + "valueName": "quiet" + }, + { + "abstract": "Disable using the sandbox when executing subprocesses", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-sandbox" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-sandbox" + }, + "shouldDisplay": true, + "valueName": "disable-sandbox" + }, + { + "abstract": "Use netrc file even in cases where other credential stores are preferred", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc" + }, + "shouldDisplay": true, + "valueName": "netrc" + }, + { + "abstract": "Load credentials from a netrc file", + "defaultValue": "--enable-netrc", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-netrc" + }, + { + "kind": "long", + "name": "disable-netrc" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-netrc" + }, + "shouldDisplay": true, + "valueName": "enable-netrc" + }, + { + "abstract": "Specify the netrc file path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "netrc-file" + } + ], + "preferredName": { + "kind": "long", + "name": "netrc-file" + }, + "shouldDisplay": true, + "valueName": "netrc-file" + }, + { + "abstract": "Search credentials in macOS keychain", + "defaultValue": "--enable-keychain", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-keychain" + }, + { + "kind": "long", + "name": "disable-keychain" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-keychain" + }, + "shouldDisplay": true, + "valueName": "enable-keychain" + }, + { + "defaultValue": "strict", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-fingerprint-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-fingerprint-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-fingerprint-checking" + }, + { + "defaultValue": "warn", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "resolver-signing-entity-checking" + } + ], + "preferredName": { + "kind": "long", + "name": "resolver-signing-entity-checking" + }, + "shouldDisplay": true, + "valueName": "resolver-signing-entity-checking" + }, + { + "abstract": "Validate signature of a signed package release downloaded from registry", + "defaultValue": "--enable-signature-validation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-signature-validation" + }, + { + "kind": "long", + "name": "disable-signature-validation" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-signature-validation" + }, + "shouldDisplay": true, + "valueName": "enable-signature-validation" + }, + { + "defaultValue": "--enable-prefetching", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-prefetching" + }, + { + "kind": "long", + "name": "disable-prefetching" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-prefetching" + }, + "shouldDisplay": true, + "valueName": "enable-prefetching" + }, + { + "abstract": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "force-resolved-versions" + }, + { + "kind": "long", + "name": "disable-automatic-resolution" + }, + { + "kind": "long", + "name": "only-use-versions-from-resolved-file" + } + ], + "preferredName": { + "kind": "long", + "name": "force-resolved-versions" + }, + "shouldDisplay": true, + "valueName": "force-resolved-versions" + }, + { + "abstract": "Skip updating dependencies from their remote during a resolution", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "skip-update" + } + ], + "preferredName": { + "kind": "long", + "name": "skip-update" + }, + "shouldDisplay": true, + "valueName": "skip-update" + }, + { + "abstract": "disable source control to registry transformation", + "defaultValue": "--disable-scm-to-registry-transformation", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-scm-to-registry-transformation" + }, + "shouldDisplay": true, + "valueName": "disable-scm-to-registry-transformation" + }, + { + "abstract": "look up source control dependencies in the registry and use their registry identity when possible to help deduplicate across the two origins", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-registry-identity-for-scm" + } + ], + "preferredName": { + "kind": "long", + "name": "use-registry-identity-for-scm" + }, + "shouldDisplay": true, + "valueName": "use-registry-identity-for-scm" + }, + { + "abstract": "look up source control dependencies in the registry and use the registry to retrieve them instead of source control when possible", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "replace-scm-with-registry" + } + ], + "preferredName": { + "kind": "long", + "name": "replace-scm-with-registry" + }, + "shouldDisplay": true, + "valueName": "replace-scm-with-registry" + }, + { + "abstract": "Default registry URL to use, instead of the registries.json configuration file", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "default-registry-url" + } + ], + "preferredName": { + "kind": "long", + "name": "default-registry-url" + }, + "shouldDisplay": true, + "valueName": "default-registry-url" + }, + { + "abstract": "Build with configuration", + "allValues": [ + "debug", + "release" + ], + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "configuration" + }, + { + "kind": "short", + "name": "c" + } + ], + "preferredName": { + "kind": "long", + "name": "configuration" + }, + "shouldDisplay": true, + "valueName": "configuration" + }, + { + "abstract": "Pass flag through to all C compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcc" + }, + "shouldDisplay": true, + "valueName": "Xcc" + }, + { + "abstract": "Pass flag through to all Swift compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xswiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xswiftc" + }, + "shouldDisplay": true, + "valueName": "Xswiftc" + }, + { + "abstract": "Pass flag through to all linker invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xlinker" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xlinker" + }, + "shouldDisplay": true, + "valueName": "Xlinker" + }, + { + "abstract": "Pass flag through to all C++ compiler invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xcxx" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xcxx" + }, + "shouldDisplay": true, + "valueName": "Xcxx" + }, + { + "abstract": "Pass flag through to the Xcode build system invocations", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xxcbuild" + }, + "shouldDisplay": false, + "valueName": "Xxcbuild" + }, + { + "abstract": "Pass flag to Swift compiler invocations for build-time executables (manifest and plugins)", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xbuild-tools-swiftc" + }, + "shouldDisplay": false, + "valueName": "Xbuild-tools-swiftc" + }, + { + "abstract": "Pass flag to the manifest build invocation. Deprecated: use '-Xbuild-tools-swiftc' instead", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "Xmanifest" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "Xmanifest" + }, + "shouldDisplay": false, + "valueName": "Xmanifest" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "triple" + } + ], + "preferredName": { + "kind": "long", + "name": "triple" + }, + "shouldDisplay": true, + "valueName": "triple" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk" + }, + "shouldDisplay": true, + "valueName": "sdk" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolchain" + } + ], + "preferredName": { + "kind": "long", + "name": "toolchain" + }, + "shouldDisplay": true, + "valueName": "toolchain" + }, + { + "abstract": "Build the package for the these architectures", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "arch" + } + ], + "preferredName": { + "kind": "long", + "name": "arch" + }, + "shouldDisplay": false, + "valueName": "arch" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdk" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdk" + }, + { + "abstract": "Filter for selecting a specific Swift SDK to build with", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdk" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdk" + }, + "shouldDisplay": true, + "valueName": "swift-sdk" + }, + { + "abstract": "Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined, scudo", + "allValues": [ + "address", + "thread", + "undefined", + "scudo" + ], + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sanitize" + } + ], + "preferredName": { + "kind": "long", + "name": "sanitize" + }, + "shouldDisplay": true, + "valueName": "sanitize" + }, + { + "abstract": "Enable or disable indexing-while-building feature", + "defaultValue": "--auto-index-store", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "auto-index-store" + }, + { + "kind": "long", + "name": "enable-index-store" + }, + { + "kind": "long", + "name": "disable-index-store" + } + ], + "preferredName": { + "kind": "long", + "name": "auto-index-store" + }, + "shouldDisplay": true, + "valueName": "auto-index-store" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-prepare-for-indexing-no-lazy" + }, + "shouldDisplay": false, + "valueName": "experimental-prepare-for-indexing-no-lazy" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-parseable-module-interfaces" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-parseable-module-interfaces" + }, + "shouldDisplay": true, + "valueName": "enable-parseable-module-interfaces" + }, + { + "abstract": "The number of jobs to spawn in parallel during the build process", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "jobs" + }, + { + "kind": "short", + "name": "j" + } + ], + "preferredName": { + "kind": "long", + "name": "jobs" + }, + "shouldDisplay": true, + "valueName": "jobs" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "use-integrated-swift-driver" + } + ], + "preferredName": { + "kind": "long", + "name": "use-integrated-swift-driver" + }, + "shouldDisplay": true, + "valueName": "use-integrated-swift-driver" + }, + { + "abstract": "A flag that indicates this build should check whether targets only import their explicitly-declared dependencies", + "allValues": [ + "none", + "warn", + "error" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "explicit-target-dependency-import-check" + } + ], + "preferredName": { + "kind": "long", + "name": "explicit-target-dependency-import-check" + }, + "shouldDisplay": true, + "valueName": "explicit-target-dependency-import-check" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "experimental-explicit-module-build" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-explicit-module-build" + }, + "shouldDisplay": true, + "valueName": "experimental-explicit-module-build" + }, + { + "allValues": [ + "native", + "xcode" + ], + "defaultValue": "native", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-system" + } + ], + "preferredName": { + "kind": "long", + "name": "build-system" + }, + "shouldDisplay": true, + "valueName": "build-system" + }, + { + "abstract": "The Debug Information Format to use", + "allValues": [ + "dwarf", + "codeview", + "none" + ], + "defaultValue": "dwarf", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "longWithSingleDash", + "name": "debug-info-format" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "debug-info-format" + }, + "shouldDisplay": true, + "valueName": "debug-info-format" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-test-discovery" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-test-discovery" + }, + "shouldDisplay": false, + "valueName": "enable-test-discovery" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-test-entry-point-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-test-entry-point-path" + }, + "shouldDisplay": false, + "valueName": "experimental-test-entry-point-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-lto-mode" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-lto-mode" + }, + "shouldDisplay": false, + "valueName": "experimental-lto-mode" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + { + "kind": "long", + "name": "disable-get-task-allow-entitlement" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-get-task-allow-entitlement" + }, + "shouldDisplay": false, + "valueName": "enable-get-task-allow-entitlement" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "omit-frame-pointers" + }, + { + "kind": "long", + "name": "no-omit-frame-pointers" + } + ], + "preferredName": { + "kind": "long", + "name": "omit-frame-pointers" + }, + "shouldDisplay": false, + "valueName": "omit-frame-pointers" + }, + { + "abstract": "Disable/enable dead code stripping by the linker", + "defaultValue": "--enable-dead-strip", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "enable-dead-strip" + }, + { + "kind": "long", + "name": "disable-dead-strip" + } + ], + "preferredName": { + "kind": "long", + "name": "enable-dead-strip" + }, + "shouldDisplay": true, + "valueName": "enable-dead-strip" + }, + { + "abstract": "Disable adding $ORIGIN/@loader_path to the rpath by default", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "disable-local-rpath" + } + ], + "preferredName": { + "kind": "long", + "name": "disable-local-rpath" + }, + "shouldDisplay": true, + "valueName": "disable-local-rpath" + }, + { + "abstract": "Allow the plugin to write to the package directory", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "allow-writing-to-package-directory" + } + ], + "preferredName": { + "kind": "long", + "name": "allow-writing-to-package-directory" + }, + "shouldDisplay": true, + "valueName": "allow-writing-to-package-directory" + }, + { + "abstract": "Allow the plugin to write to an additional directory", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "allow-writing-to-directory" + } + ], + "preferredName": { + "kind": "long", + "name": "allow-writing-to-directory" + }, + "shouldDisplay": true, + "valueName": "allow-writing-to-directory" + }, + { + "allValues": [ + "none", + "local(ports: [])", + "all(ports: [])", + "docker", + "unixDomainSocket" + ], + "defaultValue": "none", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "allow-network-connections" + } + ], + "preferredName": { + "kind": "long", + "name": "allow-network-connections" + }, + "shouldDisplay": true, + "valueName": "allow-network-connections" + }, + { + "abstract": "Limit available plugins to a single package with the given identity", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package" + } + ], + "preferredName": { + "kind": "long", + "name": "package" + }, + "shouldDisplay": true, + "valueName": "package" + }, + { + "isOptional": true, + "isRepeating": true, + "kind": "positional", + "shouldDisplay": true, + "valueName": "remaining" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "default-command", + "superCommands": [ + "swift", + "package" + ] + } + ] + }, + { + "abstract": "Perform operations on Swift SDKs.", + "arguments": [ + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "sdk", + "superCommands": [ + "swift" + ], + "subcommands": [ + { + "abstract": "Manages configuration options for installed Swift SDKs.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "A path to a directory containing the SDK root.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk-root-path" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk-root-path" + }, + "shouldDisplay": true, + "valueName": "sdk-root-path" + }, + { + "abstract": "A path to a directory containing Swift resources for dynamic linking.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-resources-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-resources-path" + }, + "shouldDisplay": true, + "valueName": "swift-resources-path" + }, + { + "abstract": "A path to a directory containing Swift resources for static linking.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-static-resources-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-static-resources-path" + }, + "shouldDisplay": true, + "valueName": "swift-static-resources-path" + }, + { + "abstract": "A path to a directory containing headers. Multiple paths can be specified by providing this option multiple times to the command.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "include-search-path" + } + ], + "preferredName": { + "kind": "long", + "name": "include-search-path" + }, + "shouldDisplay": true, + "valueName": "include-search-path" + }, + { + "abstract": "\"A path to a directory containing libraries. Multiple paths can be specified by providing this option multiple times to the command.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "library-search-path" + } + ], + "preferredName": { + "kind": "long", + "name": "library-search-path" + }, + "shouldDisplay": true, + "valueName": "library-search-path" + }, + { + "abstract": "\"A path to a toolset file. Multiple paths can be specified by providing this option multiple times to the command.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset-path" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset-path" + }, + "shouldDisplay": true, + "valueName": "toolset-path" + }, + { + "abstract": "Resets configuration properties currently applied to a given Swift SDK and target triple. If no specific property is specified, all of them are reset for the Swift SDK.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "reset" + } + ], + "preferredName": { + "kind": "long", + "name": "reset" + }, + "shouldDisplay": true, + "valueName": "reset" + }, + { + "abstract": "Prints all configuration properties currently applied to a given Swift SDK and target triple.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "show-configuration" + } + ], + "preferredName": { + "kind": "long", + "name": "show-configuration" + }, + "shouldDisplay": true, + "valueName": "show-configuration" + }, + { + "abstract": "An identifier of an already installed Swift SDK. Use the `list` subcommand to see all available identifiers.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "sdk-id" + }, + { + "abstract": "The target triple of the Swift SDK to configure.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "target-triple" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "configure", + "superCommands": [ + "swift", + "sdk" + ] + }, + { + "abstract": "Deprecated: use `swift sdk configure` instead.\n\nManages configuration options for installed Swift SDKs.", + "arguments": [ + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "configuration", + "subcommands": [ + { + "abstract": "Resets configuration properties currently applied to a given Swift SDK and target triple. If no specific property is specified, all of them are reset for the Swift SDK.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Reset custom configuration for a path to a directory containing the SDK root.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "sdk-root-path" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk-root-path" + }, + "shouldDisplay": true, + "valueName": "sdk-root-path" + }, + { + "abstract": "Reset custom configuration for a path to a directory containing Swift resources for dynamic linking.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "swift-resources-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-resources-path" + }, + "shouldDisplay": true, + "valueName": "swift-resources-path" + }, + { + "abstract": "Reset custom configuration for a path to a directory containing Swift resources for static linking.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "swift-static-resources-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-static-resources-path" + }, + "shouldDisplay": true, + "valueName": "swift-static-resources-path" + }, + { + "abstract": "Reset custom configuration for a path to a directory containing headers.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "include-search-path" + } + ], + "preferredName": { + "kind": "long", + "name": "include-search-path" + }, + "shouldDisplay": true, + "valueName": "include-search-path" + }, + { + "abstract": "Reset custom configuration for a path to a directory containing libraries.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "library-search-path" + } + ], + "preferredName": { + "kind": "long", + "name": "library-search-path" + }, + "shouldDisplay": true, + "valueName": "library-search-path" + }, + { + "abstract": "Reset custom configuration for a path to a toolset file.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "toolset-path" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset-path" + }, + "shouldDisplay": true, + "valueName": "toolset-path" + }, + { + "abstract": "An identifier of an already installed Swift SDK. Use the `list` subcommand to see all available identifiers.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "sdk-id" + }, + { + "abstract": "A target triple of the Swift SDK specified by `sdk-id` identifier string.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "target-triple" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "reset", + "superCommands": [ + "swift", + "sdk", + "configuration" + ] + }, + { + "abstract": "Sets configuration options for installed Swift SDKs.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "A path to a directory containing the SDK root.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "sdk-root-path" + } + ], + "preferredName": { + "kind": "long", + "name": "sdk-root-path" + }, + "shouldDisplay": true, + "valueName": "sdk-root-path" + }, + { + "abstract": "A path to a directory containing Swift resources for dynamic linking.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-resources-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-resources-path" + }, + "shouldDisplay": true, + "valueName": "swift-resources-path" + }, + { + "abstract": "A path to a directory containing Swift resources for static linking.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-static-resources-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-static-resources-path" + }, + "shouldDisplay": true, + "valueName": "swift-static-resources-path" + }, + { + "abstract": "A path to a directory containing headers. Multiple paths can be specified by providing this option multiple times to the command.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "include-search-path" + } + ], + "preferredName": { + "kind": "long", + "name": "include-search-path" + }, + "shouldDisplay": true, + "valueName": "include-search-path" + }, + { + "abstract": "\"A path to a directory containing libraries. Multiple paths can be specified by providing this option multiple times to the command.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "library-search-path" + } + ], + "preferredName": { + "kind": "long", + "name": "library-search-path" + }, + "shouldDisplay": true, + "valueName": "library-search-path" + }, + { + "abstract": "\"A path to a toolset file. Multiple paths can be specified by providing this option multiple times to the command.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset-path" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset-path" + }, + "shouldDisplay": true, + "valueName": "toolset-path" + }, + { + "abstract": "An identifier of an already installed Swift SDK. Use the `list` subcommand to see all available identifiers.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "sdk-id" + }, + { + "abstract": "The target triple of the Swift SDK to configure.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "target-triple" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "set", + "superCommands": [ + "swift", + "sdk", + "configuration" + ] + }, + { + "abstract": "Prints all configuration properties currently applied to a given Swift SDK and target triple.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "An identifier of an already installed Swift SDK. Use the `list` subcommand to see all available identifiers.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "sdk-id" + }, + { + "abstract": "The target triple of the Swift SDK to configure.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "target-triple" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "show", + "superCommands": [ + "swift", + "sdk", + "configuration" + ] + } + ], + "superCommands": [ + "swift", + "sdk" + ] + }, + { + "abstract": "Installs a given Swift SDK bundle to a location discoverable by SwiftPM. If the artifact bundle is at a remote location, it's downloaded to local filesystem first.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "A local filesystem path or a URL of a Swift SDK bundle to install.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "bundle-path-or-url" + }, + { + "abstract": "The checksum of the bundle generated with `swift package compute-checksum`.", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "checksum" + } + ], + "preferredName": { + "kind": "long", + "name": "checksum" + }, + "shouldDisplay": true, + "valueName": "checksum" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "install", + "superCommands": [ + "swift", + "sdk" + ] + }, + { + "abstract": "Print a list of IDs of available Swift SDKs available on the filesystem.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "list", + "superCommands": [ + "swift", + "sdk" + ] + }, + { + "abstract": "Removes a previously installed Swift SDK bundle from the filesystem.", + "arguments": [ + { + "abstract": "Specify the package path to operate on (default current directory). This changes the working directory before any other operation", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "package-path" + } + ], + "preferredName": { + "kind": "long", + "name": "package-path" + }, + "shouldDisplay": true, + "valueName": "package-path" + }, + { + "abstract": "Specify the shared cache directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "cache-path" + } + ], + "preferredName": { + "kind": "long", + "name": "cache-path" + }, + "shouldDisplay": true, + "valueName": "cache-path" + }, + { + "abstract": "Specify the shared configuration directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "config-path" + }, + "shouldDisplay": true, + "valueName": "config-path" + }, + { + "abstract": "Specify the shared security directory path", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "security-path" + } + ], + "preferredName": { + "kind": "long", + "name": "security-path" + }, + "shouldDisplay": true, + "valueName": "security-path" + }, + { + "abstract": "Specify a custom scratch directory path (default .build)", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "scratch-path" + } + ], + "preferredName": { + "kind": "long", + "name": "scratch-path" + }, + "shouldDisplay": true, + "valueName": "scratch-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "build-path" + } + ], + "preferredName": { + "kind": "long", + "name": "build-path" + }, + "shouldDisplay": false, + "valueName": "build-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "multiroot-data-file" + } + ], + "preferredName": { + "kind": "long", + "name": "multiroot-data-file" + }, + "shouldDisplay": false, + "valueName": "multiroot-data-file" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "destination" + } + ], + "preferredName": { + "kind": "long", + "name": "destination" + }, + "shouldDisplay": false, + "valueName": "destination" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "experimental-swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "experimental-swift-sdks-path" + }, + "shouldDisplay": false, + "valueName": "experimental-swift-sdks-path" + }, + { + "abstract": "Path to the directory containing installed Swift SDKs", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "swift-sdks-path" + } + ], + "preferredName": { + "kind": "long", + "name": "swift-sdks-path" + }, + "shouldDisplay": true, + "valueName": "swift-sdks-path" + }, + { + "abstract": "Specify a toolset JSON file to use when building for the target platform. Use the option multiple times to specify more than one toolset. Toolsets will be merged in the order they're specified into a single final toolset for the current build.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "toolset" + } + ], + "preferredName": { + "kind": "long", + "name": "toolset" + }, + "shouldDisplay": true, + "valueName": "toolset" + }, + { + "abstract": "Specify alternative path to search for pkg-config `.pc` files. Use the option multiple times to\nspecify more than one path.", + "isOptional": true, + "isRepeating": true, + "kind": "option", + "names": [ + { + "kind": "long", + "name": "pkg-config-path" + } + ], + "preferredName": { + "kind": "long", + "name": "pkg-config-path" + }, + "shouldDisplay": true, + "valueName": "pkg-config-path" + }, + { + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "ignore-lock" + } + ], + "preferredName": { + "kind": "long", + "name": "ignore-lock" + }, + "shouldDisplay": false, + "valueName": "ignore-lock" + }, + { + "abstract": "Name of the Swift SDK bundle or ID of the Swift SDK to remove from the filesystem.", + "isOptional": false, + "isRepeating": false, + "kind": "positional", + "shouldDisplay": true, + "valueName": "sdk-id-or-bundle-name" + }, + { + "abstract": "Show the version.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "long", + "name": "version" + } + ], + "preferredName": { + "kind": "long", + "name": "version" + }, + "shouldDisplay": true, + "valueName": "version" + }, + { + "abstract": "Show help information.", + "isOptional": true, + "isRepeating": false, + "kind": "flag", + "names": [ + { + "kind": "longWithSingleDash", + "name": "help" + }, + { + "kind": "short", + "name": "h" + }, + { + "kind": "long", + "name": "help" + } + ], + "preferredName": { + "kind": "longWithSingleDash", + "name": "help" + }, + "shouldDisplay": true, + "valueName": "help" + } + ], + "commandName": "remove", + "superCommands": [ + "swift", + "sdk" + ] + } + ] + } + ] + } +} diff --git a/Sources/SwiftlyCore/tar-ext.json b/Sources/SwiftlyCore/tar-ext.json new file mode 100644 index 00000000..3030e032 --- /dev/null +++ b/Sources/SwiftlyCore/tar-ext.json @@ -0,0 +1,20 @@ +{ + "arguments": [ + { + "path": "directory", + "type": "file" + }, + { + "path": "--extract.archive", + "type": "file" + }, + { + "path": "--create.archive", + "type": "file" + }, + { + "path": "--create.files", + "type": "file" + } + ] +} diff --git a/Sources/SwiftlyCore/tar.json b/Sources/SwiftlyCore/tar.json new file mode 100644 index 00000000..4455f960 --- /dev/null +++ b/Sources/SwiftlyCore/tar.json @@ -0,0 +1,156 @@ +{ + "serializationVersion": 0, + "command": { + "commandName": "tar", + "abstract": "manipulate tape archives. See tar(1) for more information.", + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "short", + "name": "C" + } + ], + "preferredName": { + "kind": "short", + "name": "C" + }, + "valueName": "directory", + "isOptional": true, + "isRepeating": false, + "kind": "option", + "shouldDisplay": true + } + ], + "subcommands": [ + { + "commandName": "--create", + "superCommands": [ + "tar" + ], + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "file" + } + ], + "preferredName": { + "kind": "long", + "name": "file" + }, + "valueName": "archive", + "shouldDisplay": true, + "kind": "option", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "short", + "name": "z" + } + ], + "preferredName": { + "kind": "short", + "name": "z" + }, + "valueName": "compressed", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "short", + "name": "v" + }, + "valueName": "verbose", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + }, + { + "valueName": "files", + "shouldDisplay": true, + "kind": "positional", + "isOptional": true, + "isRepeating": true + } + ] + }, + { + "commandName": "--extract", + "superCommands": [ + "tar" + ], + "shouldDisplay": true, + "arguments": [ + { + "names": [ + { + "kind": "long", + "name": "file" + } + ], + "preferredName": { + "kind": "long", + "name": "file" + }, + "valueName": "archive", + "shouldDisplay": true, + "kind": "option", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "short", + "name": "z" + } + ], + "preferredName": { + "kind": "short", + "name": "z" + }, + "valueName": "compressed", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + }, + { + "names": [ + { + "kind": "short", + "name": "v" + } + ], + "preferredName": { + "kind": "short", + "name": "v" + }, + "valueName": "verbose", + "shouldDisplay": true, + "kind": "flag", + "isOptional": true, + "isRepeating": false + } + ] + } + ] + } +} diff --git a/Sources/TestSwiftly/TestSwiftly.swift b/Sources/TestSwiftly/TestSwiftly.swift index f2c5f3a8..26a64cf3 100644 --- a/Sources/TestSwiftly/TestSwiftly.swift +++ b/Sources/TestSwiftly/TestSwiftly.swift @@ -98,7 +98,7 @@ struct TestSwiftly: AsyncParsableCommand { #if os(Linux) try await sys.tar().extract(.verbose, .compressed, .archive(swiftlyArchive)).run(currentPlatform, quiet: false) #elseif os(macOS) - try await sys.installer(.verbose, pkg: swiftlyArchive, target: "CurrentUserHomeDirectory").run(currentPlatform, quiet: false) + try await sys.installer(.verbose, .pkg(swiftlyArchive), .target("CurrentUserHomeDirectory")).run(currentPlatform, quiet: false) #endif #if os(Linux) diff --git a/Tests/SwiftlyTests/CommandLineTests.swift b/Tests/SwiftlyTests/CommandLineTests.swift index 98c6c93d..f9bd4d14 100644 --- a/Tests/SwiftlyTests/CommandLineTests.swift +++ b/Tests/SwiftlyTests/CommandLineTests.swift @@ -9,11 +9,11 @@ public typealias sys = SystemCommand @Suite public struct CommandLineTests { @Test func testDsclModel() { - var config = sys.dscl(datasource: ".").read(path: .init("/Users/swiftly"), keys: "UserShell").config() + var config = sys.dscl(datasource: ".").read(path: .init("/Users/swiftly"), key: ["UserShell"]).config() #expect(config.executable == .name("dscl")) #expect(config.arguments.storage.map(\.description) == [".", "-read", "/Users/swiftly", "UserShell"]) - config = sys.dscl(datasource: ".").read(path: .init("/Users/swiftly"), keys: "UserShell", "Picture").config() + config = sys.dscl(datasource: ".").read(path: .init("/Users/swiftly"), key: ["UserShell", "Picture"]).config() #expect(config.executable == .name("dscl")) #expect(config.arguments.storage.map(\.description) == [".", "-read", "/Users/swiftly", "UserShell", "Picture"]) } @@ -21,86 +21,86 @@ public struct CommandLineTests { @Test( .tags(.medium), .enabled { - try await sys.DsclCommand.defaultExecutable.exists() + try await sys.dsclCommand.defaultExecutable.exists() } ) func testDscl() async throws { - let properties = try await sys.dscl(datasource: ".").read(path: fs.home, keys: "UserShell").properties(Swiftly.currentPlatform) + let properties = try await sys.dscl(datasource: ".").read(path: fs.home, key: ["UserShell"]).properties(Swiftly.currentPlatform) #expect(properties.count == 1) // Only one shell for the current user #expect(properties[0].key == "UserShell") // The one property key should be the one that is requested } @Test func testLipo() { - var config = sys.lipo(inputFiles: "swiftly1", "swiftly2").create(output: "swiftly-universal").config() + var config = sys.lipo(input_file: "swiftly1", "swiftly2").create(.output("swiftly-universal")).config() #expect(config.executable == .name("lipo")) #expect(config.arguments.storage.map(\.description) == ["swiftly1", "swiftly2", "-create", "-output", "swiftly-universal"]) - config = sys.lipo(inputFiles: "swiftly").create(output: "swiftly-universal-with-one-arch").config() + config = sys.lipo(input_file: "swiftly").create(.output("swiftly-universal-with-one-arch")).config() #expect(config.executable == .name("lipo")) #expect(config.arguments.storage.map(\.description) == ["swiftly", "-create", "-output", "swiftly-universal-with-one-arch"]) } @Test func testPkgbuild() { - var config = sys.pkgbuild(root: "mypath", packageOutputPath: "outputDir").config() + var config = sys.pkgbuild(.root("mypath"), package_output_path: "outputDir").config() #expect(String(describing: config) == "pkgbuild --root mypath outputDir") - config = sys.pkgbuild(.version("1234"), root: "somepath", packageOutputPath: "output").config() + config = sys.pkgbuild(.version("1234"), .root("somepath"), package_output_path: "output").config() #expect(String(describing: config) == "pkgbuild --version 1234 --root somepath output") - config = sys.pkgbuild(.installLocation("/usr/local"), .version("1.0.0"), .identifier("org.foo.bar"), .sign("mycert"), root: "someroot", packageOutputPath: "my.pkg").config() + config = sys.pkgbuild(.install_location("/usr/local"), .version("1.0.0"), .identifier("org.foo.bar"), .sign("mycert"), .root("someroot"), package_output_path: "my.pkg").config() #expect(String(describing: config) == "pkgbuild --install-location /usr/local --version 1.0.0 --identifier org.foo.bar --sign mycert --root someroot my.pkg") - config = sys.pkgbuild(.installLocation("/usr/local"), .version("1.0.0"), .identifier("org.foo.bar"), root: "someroot", packageOutputPath: "my.pkg").config() + config = sys.pkgbuild(.install_location("/usr/local"), .version("1.0.0"), .identifier("org.foo.bar"), .root("someroot"), package_output_path: "my.pkg").config() #expect(String(describing: config) == "pkgbuild --install-location /usr/local --version 1.0.0 --identifier org.foo.bar --root someroot my.pkg") } @Test func testGetent() { - var config = sys.getent(database: "passwd", keys: "swiftly").config() + var config = sys.getent(database: "passwd", key: "swiftly").config() #expect(String(describing: config) == "getent passwd swiftly") - config = sys.getent(database: "foo", keys: "abc", "def").config() + config = sys.getent(database: "foo", key: "abc", "def").config() #expect(String(describing: config) == "getent foo abc def") } @Test func testGitModel() { - var config = sys.git().log(.maxCount(1), .pretty("format:%d")).config() - #expect(String(describing: config) == "git log --max-count=1 --pretty=format:%d") + var config = sys.git().log(.max_count("1"), .pretty("format:%d")).config() + #expect(String(describing: config) == "git log --max-count 1 --pretty format:%d") config = sys.git().log().config() #expect(String(describing: config) == "git log") config = sys.git().log(.pretty("foo")).config() - #expect(String(describing: config) == "git log --pretty=foo") + #expect(String(describing: config) == "git log --pretty foo") - config = sys.git().diffIndex(.quiet, treeIsh: "HEAD").config() + config = sys.git().diffindex(.quiet, tree_ish: "HEAD").config() #expect(String(describing: config) == "git diff-index --quiet HEAD") - config = sys.git().diffIndex(treeIsh: "main").config() + config = sys.git().diffindex(tree_ish: "main").config() #expect(String(describing: config) == "git diff-index main") } @Test( .tags(.medium), .enabled { - try await sys.GitCommand.defaultExecutable.exists() + try await sys.gitCommand.defaultExecutable.exists() } ) func testGit() async throws { // GIVEN a simple git repository let tmp = fs.mktemp() try await fs.mkdir(atPath: tmp) - try await sys.git(workingDir: tmp)._init().run(Swiftly.currentPlatform) + try await sys.git(.workingDir(tmp))._init().run(Swiftly.currentPlatform) // AND a simple history try "Some text".write(to: tmp / "foo.txt", atomically: true) try await Swiftly.currentPlatform.runProgram("git", "-C", "\(tmp)", "add", "foo.txt") try await Swiftly.currentPlatform.runProgram("git", "-C", "\(tmp)", "config", "user.email", "user@example.com") - try await sys.git(workingDir: tmp).commit(.message("Initial commit")).run(Swiftly.currentPlatform) - try await sys.git(workingDir: tmp).diffIndex(.quiet, treeIsh: "HEAD").run(Swiftly.currentPlatform) + try await sys.git(.workingDir(tmp)).commit(.message("Initial commit")).run(Swiftly.currentPlatform) + try await sys.git(.workingDir(tmp)).diffindex(.quiet, tree_ish: "HEAD").run(Swiftly.currentPlatform) // WHEN inspecting the log - let log = try await sys.git(workingDir: tmp).log(.maxCount(1)).output(Swiftly.currentPlatform)! + let log = try await sys.git(.workingDir(tmp)).log(.max_count("1")).output(Swiftly.currentPlatform)! // THEN it is not empty #expect(log != "") @@ -109,28 +109,28 @@ public struct CommandLineTests { // THEN diff index finds a change try await #expect(throws: Error.self) { - try await sys.git(workingDir: tmp).diffIndex(.quiet, treeIsh: "HEAD").run(Swiftly.currentPlatform) + try await sys.git(.workingDir(tmp)).diffindex(.quiet, tree_ish: "HEAD").run(Swiftly.currentPlatform) } } @Test func testTarModel() { - var config = sys.tar(.directory("/some/cool/stuff")).create(.compressed, .archive("abc.tgz"), files: "a", "b").config() - #expect(String(describing: config) == "tar -C /some/cool/stuff -c -z --file abc.tgz a b") + var config = sys.tar(.directory("/some/cool/stuff")).create(.compressed, .archive("abc.tgz"), files: ["a", "b"]).config() + #expect(String(describing: config) == "tar -C /some/cool/stuff --create -z --file abc.tgz a b") - config = sys.tar().create(.archive("myarchive.tar")).config() - #expect(String(describing: config) == "tar -c --file myarchive.tar") + config = sys.tar().create(.archive("myarchive.tar"), files: nil).config() + #expect(String(describing: config) == "tar --create --file myarchive.tar") config = sys.tar(.directory("/this/is/the/place")).extract(.compressed, .archive("def.tgz")).config() - #expect(String(describing: config) == "tar -C /this/is/the/place -x -z --file def.tgz") + #expect(String(describing: config) == "tar -C /this/is/the/place --extract -z --file def.tgz") config = sys.tar().extract(.archive("somearchive.tar")).config() - #expect(String(describing: config) == "tar -x --file somearchive.tar") + #expect(String(describing: config) == "tar --extract --file somearchive.tar") } @Test( .tags(.medium), .enabled { - try await sys.TarCommand.defaultExecutable.exists() + try await sys.tarCommand.defaultExecutable.exists() } ) func testTar() async throws { @@ -142,8 +142,8 @@ public struct CommandLineTests { let arch = fs.mktemp(ext: "tar") let archCompressed = fs.mktemp(ext: "tgz") - try await sys.tar(.directory(tmp)).create(.verbose, .archive(arch), files: FilePath(readme)).run(Swiftly.currentPlatform) - try await sys.tar(.directory(tmp)).create(.verbose, .compressed, .archive(archCompressed), files: FilePath(readme)).run(Swiftly.currentPlatform) + try await sys.tar(.directory(tmp)).create(.verbose, .archive(arch), files: [FilePath(readme)]).run(Swiftly.currentPlatform) + try await sys.tar(.directory(tmp)).create(.verbose, .compressed, .archive(archCompressed), files: [FilePath(readme)]).run(Swiftly.currentPlatform) let tmp2 = fs.mktemp() try await fs.mkdir(atPath: tmp2) @@ -169,14 +169,14 @@ public struct CommandLineTests { config = sys.swift().package().clean().config() #expect(String(describing: config) == "swift package clean") - config = sys.swift().sdk().install("path/to/bundle", checksum: "deadbeef").config() - #expect(String(describing: config) == "swift sdk install path/to/bundle --checksum=deadbeef") + config = sys.swift().sdk().install(.checksum("deadbeef"), bundle_path_or_url: "path/to/bundle").config() + #expect(String(describing: config) == "swift sdk install --checksum deadbeef path/to/bundle") - config = sys.swift().sdk().remove("some.bundle").config() + config = sys.swift().sdk().remove([], sdk_id_or_bundle_name: "some.bundle").config() #expect(String(describing: config) == "swift sdk remove some.bundle") - config = sys.swift().build(.arch("x86_64"), .configuration("release"), .pkgConfigPath("path/to/pc"), .swiftSdk("sdk.id"), .staticSwiftStdlib, .product("product1")).config() - #expect(String(describing: config) == "swift build --arch=x86_64 --configuration=release --pkg-config-path=path/to/pc --swift-sdk=sdk.id --static-swift-stdlib --product=product1") + config = sys.swift().build(.arch("x86_64"), .configuration("release"), .pkg_config_path("path/to/pc"), .swift_sdk("sdk.id"), .static_swift_stdlib, .product("product1")).config() + #expect(String(describing: config) == "swift build --arch x86_64 --configuration release --pkg-config-path path/to/pc --swift-sdk sdk.id --static-swift-stdlib --product product1") config = sys.swift().build().config() #expect(String(describing: config) == "swift build") @@ -185,14 +185,14 @@ public struct CommandLineTests { @Test( .tags(.medium), .enabled { - try await sys.SwiftCommand.defaultExecutable.exists() + try await sys.swiftCommand.defaultExecutable.exists() } ) func testSwift() async throws { let tmp = fs.mktemp() try await fs.mkdir(atPath: tmp) - try await sys.swift().package()._init(.packagePath(tmp), .type("executable")).run(Swiftly.currentPlatform) - try await sys.swift().build(.packagePath(tmp), .configuration("release")) + try await sys.swift().package()._init(.package_path(tmp), .type("executable")).run(Swiftly.currentPlatform) + try await sys.swift().build(.package_path(tmp), .configuration("release")) } @Test func testMake() async throws { @@ -201,7 +201,7 @@ public struct CommandLineTests { } @Test func testStrip() async throws { - var config = sys.strip(names: FilePath("foo")).config() + var config = sys.strip(name: FilePath("foo")).config() #expect(String(describing: config) == "strip foo") } @@ -211,37 +211,37 @@ public struct CommandLineTests { } @Test func testProductBuild() async throws { - var config = sys.productbuild().synthesize(package: FilePath("mypkg"), distributionOutputPath: FilePath("distribution")).config() + var config = sys.productbuild(.synthesize, .pkg_path(FilePath("mypkg")), output_path: FilePath("distribution")).config() #expect(String(describing: config) == "productbuild --synthesize --package mypkg distribution") - config = sys.productbuild().distribution(distPath: FilePath("mydist"), productOutputPath: FilePath("product")).config() + config = sys.productbuild(.dist_path(FilePath("mydist")), output_path: FilePath("product")).config() #expect(String(describing: config) == "productbuild --distribution mydist product") - config = sys.productbuild().distribution(.packagePath(FilePath("pkgpath")), .sign("mycert"), distPath: FilePath("mydist"), productOutputPath: FilePath("myproduct")).config() + config = sys.productbuild(.dist_path(FilePath("mydist")), .search_path(FilePath("pkgpath")), .cert("mycert"), output_path: FilePath("myproduct")).config() #expect(String(describing: config) == "productbuild --distribution mydist --package-path pkgpath --sign mycert myproduct") } @Test func testGpg() async throws { - var config = sys.gpg()._import(keys: FilePath("somekeys.asc")).config() + var config = sys.gpg()._import(key: FilePath("somekeys.asc")).config() #expect(String(describing: config) == "gpg --import somekeys.asc") - config = sys.gpg().verify(detachedSignature: FilePath("file.sig"), signedData: FilePath("file")).config() + config = sys.gpg().verify(detached_signature: FilePath("file.sig"), signed_data: FilePath("file")).config() #expect(String(describing: config) == "gpg --verify file.sig file") } @Test func testPkgutil() async throws { - var config = sys.pkgutil(.verbose).checkSignature(pkgPath: FilePath("path/to/my.pkg")).config() + var config = sys.pkgutil(.verbose).checksignature(pkg_path: FilePath("path/to/my.pkg")).config() #expect(String(describing: config) == "pkgutil --verbose --check-signature path/to/my.pkg") - config = sys.pkgutil(.verbose).expand(pkgPath: FilePath("path/to/my.pkg"), dirPath: FilePath("expand/to/here")).config() + config = sys.pkgutil(.verbose).expand(pkg_path: FilePath("path/to/my.pkg"), dir_path: FilePath("expand/to/here")).config() #expect(String(describing: config) == "pkgutil --verbose --expand path/to/my.pkg expand/to/here") - config = sys.pkgutil(.volume("/Users/foo")).forget(packageId: "com.example.pkg").config() + config = sys.pkgutil(.volume("/Users/foo")).forget(pkg_id: "com.example.pkg").config() #expect(String(describing: config) == "pkgutil --volume /Users/foo --forget com.example.pkg") } @Test func testInstaller() async throws { - var config = sys.installer(.verbose, pkg: FilePath("path/to/my.pkg"), target: "CurrentUserHomeDirectory").config() + var config = sys.installer(.verbose, .pkg(FilePath("path/to/my.pkg")), .target("CurrentUserHomeDirectory")).config() #expect(String(describing: config) == "installer -verbose -pkg path/to/my.pkg -target CurrentUserHomeDirectory") } } diff --git a/Tests/SwiftlyTests/HTTPClientTests.swift b/Tests/SwiftlyTests/HTTPClientTests.swift index db57fa7b..873304e9 100644 --- a/Tests/SwiftlyTests/HTTPClientTests.swift +++ b/Tests/SwiftlyTests/HTTPClientTests.swift @@ -19,7 +19,7 @@ import Testing } try await withGpg { runGpg in - try await runGpg(sys.gpg()._import(keys: tmpFile)) + try await runGpg(sys.gpg()._import(key: tmpFile)) } } } @@ -47,8 +47,8 @@ import Testing try await withGpg { runGpg in try await httpClient.getGpgKeys().download(to: keysFile) - try await runGpg(sys.gpg()._import(keys: keysFile)) - try await runGpg(sys.gpg().verify(detachedSignature: tmpFileSignature, signedData: tmpFile)) + try await runGpg(sys.gpg()._import(key: keysFile)) + try await runGpg(sys.gpg().verify(detached_signature: tmpFileSignature, signed_data: tmpFile)) } } } @@ -76,8 +76,8 @@ import Testing try await withGpg { runGpg in try await httpClient.getGpgKeys().download(to: keysFile) - try await runGpg(sys.gpg()._import(keys: keysFile)) - try await runGpg(sys.gpg().verify(detachedSignature: tmpFileSignature, signedData: tmpFile)) + try await runGpg(sys.gpg()._import(key: keysFile)) + try await runGpg(sys.gpg().verify(detached_signature: tmpFileSignature, signed_data: tmpFile)) } } } diff --git a/Tests/SwiftlyTests/SwiftlyTests.swift b/Tests/SwiftlyTests/SwiftlyTests.swift index 8eac1a95..60f78838 100644 --- a/Tests/SwiftlyTests/SwiftlyTests.swift +++ b/Tests/SwiftlyTests/SwiftlyTests.swift @@ -958,11 +958,11 @@ public final actor MockToolchainDownloader: HTTPRequestExecutor { let pkg = tmp / "swiftly.pkg" try await sys.pkgbuild( - .installLocation("swiftly"), + .install_location("swiftly"), .version("\(self.latestSwiftlyVersion)"), .identifier("org.swift.swiftly"), - root: swiftlyDir, - packageOutputPath: pkg + .root(swiftlyDir), + package_output_path: pkg ) .run(Swiftly.currentPlatform) @@ -1005,11 +1005,11 @@ public final actor MockToolchainDownloader: HTTPRequestExecutor { let pkg = tmp / "toolchain.pkg" try await sys.pkgbuild( - .installLocation(FilePath("Library/Developer/Toolchains/\(toolchain.identifier).xctoolchain")), + .install_location(FilePath("Library/Developer/Toolchains/\(toolchain.identifier).xctoolchain")), .version("\(toolchain.name)"), .identifier(pkgInfo.CFBundleIdentifier), - root: toolchainDir, - packageOutputPath: pkg + .root(toolchainDir), + package_output_path: pkg ) .run(Swiftly.currentPlatform) diff --git a/Tools/build-swiftly-release/BuildSwiftlyRelease.swift b/Tools/build-swiftly-release/BuildSwiftlyRelease.swift index 6483444c..2a7f8c94 100644 --- a/Tools/build-swiftly-release/BuildSwiftlyRelease.swift +++ b/Tools/build-swiftly-release/BuildSwiftlyRelease.swift @@ -110,12 +110,12 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { return } - guard let gitTags = try await sys.git().log(.maxCount(1), .pretty("format:%d")).output(currentPlatform), gitTags.contains("tag: \(self.version)") else { + guard let gitTags = try await sys.git().log(.max_count("1"), .pretty("format:%d")).output(currentPlatform), gitTags.contains("tag: \(self.version)") else { throw Error(message: "Git repo is not yet tagged for release \(self.version). Please tag this commit with that version and push it to GitHub.") } do { - try await sys.git().diffIndex(.quiet, treeIsh: "HEAD").run(currentPlatform) + try await sys.git().diffindex(.quiet, tree_ish: "HEAD").run(currentPlatform) } catch { throw Error(message: "Git repo has local changes. First commit these changes, tag the commit with release \(self.version) and push the tag to GitHub.") } @@ -198,7 +198,7 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { throw Error(message: "Swift release \(swiftVersion) has no Static SDK offering") } - try await sys.swift().sdk().install("https://download.swift.org/swift-\(swiftVersion)-release/static-sdk/swift-\(swiftVersion)-RELEASE/swift-\(swiftVersion)-RELEASE_static-linux-0.0.1.artifactbundle.tar.gz", checksum: sdkPlatform.checksum ?? "deadbeef").run(currentPlatform) + try await sys.swift().sdk().install(.checksum(sdkPlatform.checksum ?? "deadbeef"), bundle_path_or_url: "https://download.swift.org/swift-\(swiftVersion)-release/static-sdk/swift-\(swiftVersion)-RELEASE/swift-\(swiftVersion)-RELEASE_static-linux-0.0.1.artifactbundle.tar.gz").run(currentPlatform) var customEnv = ProcessInfo.processInfo.environment customEnv["CC"] = "\(cwd)/Tools/build-swiftly-release/musl-clang" @@ -232,12 +232,12 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { FileManager.default.changeCurrentDirectoryPath(cwd.string) - try await sys.swift().build(.swiftSdk("\(arch)-swift-linux-musl"), .product("swiftly"), .pkgConfigPath(pkgConfigPath / "lib/pkgconfig"), .staticSwiftStdlib, .configuration("release")).run(currentPlatform) + try await sys.swift().build(.swift_sdk("\(arch)-swift-linux-musl"), .product("swiftly"), .pkg_config_path(pkgConfigPath / "lib/pkgconfig"), .static_swift_stdlib, .configuration("release")).run(currentPlatform) let releaseDir = cwd / ".build/release" // Strip the symbols from the binary to decrease its size - try await sys.strip(names: releaseDir / "swiftly").run(currentPlatform) + try await sys.strip(name: releaseDir / "swiftly").run(currentPlatform) try await self.collectLicenses(releaseDir) @@ -247,7 +247,7 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { let releaseArchive = releaseDir / "swiftly-\(version)-x86_64.tar.gz" #endif - try await sys.tar(.directory(releaseDir)).create(.compressed, .archive(releaseArchive), files: "swiftly", "LICENSE.txt").run(currentPlatform) + try await sys.tar(.directory(releaseDir)).create(.compressed, .archive(releaseArchive), files: ["swiftly", "LICENSE.txt"]).run(currentPlatform) print(releaseArchive) @@ -260,13 +260,13 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { let testArchive = debugDir / "test-swiftly-linux-x86_64.tar.gz" #endif - try await sys.swift().build(.swiftSdk("\(arch)-swift-linux-musl"), .product("test-swiftly"), .pkgConfigPath(pkgConfigPath / "lib/pkgconfig"), .staticSwiftStdlib, .configuration("debug")).run(currentPlatform) - try await sys.tar(.directory(debugDir)).create(.compressed, .archive(testArchive), files: "test-swiftly").run(currentPlatform) + try await sys.swift().build(.swift_sdk("\(arch)-swift-linux-musl"), .product("test-swiftly"), .pkg_config_path(pkgConfigPath / "lib/pkgconfig"), .static_swift_stdlib, .configuration("debug")).run(currentPlatform) + try await sys.tar(.directory(debugDir)).create(.compressed, .archive(testArchive), files: ["test-swiftly"]).run(currentPlatform) print(testArchive) } - try await sys.swift().sdk().remove(sdkName).runEcho(currentPlatform) + try await sys.swift().sdk().remove(sdk_id_or_bundle_name: sdkName).runEcho(currentPlatform) } func buildMacOSRelease(cert: String?, identifier: String) async throws { @@ -276,16 +276,16 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { for arch in ["x86_64", "arm64"] { try await sys.swift().build(.product("swiftly"), .configuration("release"), .arch("\(arch)")).run(currentPlatform) - try await sys.strip(names: FilePath(".build") / "\(arch)-apple-macosx/release/swiftly").run(currentPlatform) + try await sys.strip(name: FilePath(".build") / "\(arch)-apple-macosx/release/swiftly").run(currentPlatform) } let swiftlyBinDir = fs.cwd / ".build/release/.swiftly/bin" try? await fs.mkdir(.parents, atPath: swiftlyBinDir) try await sys.lipo( - inputFiles: ".build/x86_64-apple-macosx/release/swiftly", ".build/arm64-apple-macosx/release/swiftly" + input_file: ".build/x86_64-apple-macosx/release/swiftly", ".build/arm64-apple-macosx/release/swiftly" ) - .create(output: swiftlyBinDir / "swiftly") + .create(.output(swiftlyBinDir / "swiftly")) .runEcho(currentPlatform) let swiftlyLicenseDir = fs.cwd / ".build/release/.swiftly/license" @@ -299,20 +299,20 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { if let cert { try await sys.pkgbuild( - .installLocation(".swiftly"), + .install_location(".swiftly"), .version(self.version), .identifier(identifier), .sign(cert), - root: swiftlyBinDir.parent, - packageOutputPath: releaseDir / "swiftly-\(self.version).pkg" + .root(swiftlyBinDir.parent), + package_output_path: releaseDir / "swiftly-\(self.version).pkg" ).runEcho(currentPlatform) } else { try await sys.pkgbuild( - .installLocation(".swiftly"), + .install_location(".swiftly"), .version(self.version), .identifier(identifier), - root: swiftlyBinDir.parent, - packageOutputPath: releaseDir / "swiftly-\(self.version).pkg" + .root(swiftlyBinDir.parent), + package_output_path: releaseDir / "swiftly-\(self.version).pkg" ).runEcho(currentPlatform) } @@ -322,16 +322,16 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { let pkgFileReconfigured = releaseDir / "swiftly-\(self.version)-reconfigured.pkg" let distFile = releaseDir / "distribution.plist" - try await sys.productbuild().synthesize(package: pkgFile, distributionOutputPath: distFile).runEcho(currentPlatform) + try await sys.productbuild(.synthesize, .pkg_path(pkgFile), output_path: distFile).runEcho(currentPlatform) var distFileContents = try String(contentsOf: distFile, encoding: .utf8) distFileContents = distFileContents.replacingOccurrences(of: "", with: "swiftly") try distFileContents.write(to: distFile, atomically: true, encoding: .utf8) if let cert = cert { - try await sys.productbuild().distribution(.packagePath(pkgFile.parent), .sign(cert), distPath: distFile, productOutputPath: pkgFileReconfigured).runEcho(currentPlatform) + try await sys.productbuild(.search_path(pkgFile.parent), .cert(cert), .dist_path(distFile), output_path: pkgFileReconfigured).runEcho(currentPlatform) } else { - try await sys.productbuild().distribution(.packagePath(pkgFile.parent), distPath: distFile, productOutputPath: pkgFileReconfigured).runEcho(currentPlatform) + try await sys.productbuild(.search_path(pkgFile.parent), .dist_path(distFile), output_path: pkgFileReconfigured).runEcho(currentPlatform) } try await fs.remove(atPath: pkgFile) try await fs.copy(atPath: pkgFileReconfigured, toPath: pkgFile) @@ -341,18 +341,18 @@ struct BuildSwiftlyRelease: AsyncParsableCommand { if self.test { for arch in ["x86_64", "arm64"] { try await sys.swift().build(.product("test-swiftly"), .configuration("debug"), .arch("\(arch)")).runEcho(currentPlatform) - try await sys.strip(names: ".build" / "\(arch)-apple-macosx/release/swiftly").runEcho(currentPlatform) + try await sys.strip(name: ".build" / "\(arch)-apple-macosx/release/swiftly").runEcho(currentPlatform) } let testArchive = releaseDir / "test-swiftly-macos.tar.gz" try await sys.lipo( - inputFiles: ".build/x86_64-apple-macosx/debug/test-swiftly", ".build/arm64-apple-macosx/debug/test-swiftly" + input_file: ".build/x86_64-apple-macosx/debug/test-swiftly", ".build/arm64-apple-macosx/debug/test-swiftly" ) - .create(output: swiftlyBinDir / "swiftly") + .create(.output(swiftlyBinDir / "swiftly")) .runEcho(currentPlatform) - try await sys.tar(.directory(".build/x86_64-apple-macosx/debug")).create(.compressed, .archive(testArchive), files: "test-swiftly").run(currentPlatform) + try await sys.tar(.directory(".build/x86_64-apple-macosx/debug")).create(.compressed, .archive(testArchive), files: ["test-swiftly"]).run(currentPlatform) print(testArchive) } diff --git a/Tools/generate-command-models/GenerateCommandModels.swift b/Tools/generate-command-models/GenerateCommandModels.swift new file mode 100644 index 00000000..0deb34f3 --- /dev/null +++ b/Tools/generate-command-models/GenerateCommandModels.swift @@ -0,0 +1,361 @@ +import ArgumentParser +import ArgumentParserToolInfo +import Foundation +import SwiftlyCore +import SystemPackage +#if os(macOS) +import MacOSPlatform +let currentPlatform = MacOS() +#elseif os(Linux) +import LinuxPlatform +let currentPlatform = Linux() +#endif + +typealias fs = FileSystem +typealias sys = SystemCommand + +struct CommandExtensions: Codable { + var optionsSingleDash: Bool? + var arguments: [ArgumentExtension]? +} + +struct ArgumentExtension: Codable { + var path: String + var type: String +} + +extension ArgumentInfoV0 { + var asSwiftName: String { + self.valueName!.replacingOccurrences(of: "-", with: "_") + } +} + +@main +struct GenerateCommandModels: AsyncParsableCommand { + static let configuration = CommandConfiguration( + commandName: "generate-command-models", + abstract: "Generate models for commands based on a JSON representation of them based on the swift-argument-parser `--experimental-dump-help`." + ) + + func validate() throws {} + + func run() async throws { + let swiftlyCoreDir = fs.cwd / "Sources/SwiftlyCore" + + let cmdHelpFiles = (try await fs.ls(atPath: swiftlyCoreDir)).filter { $0.hasSuffix(".json") && !$0.hasSuffix("-ext.json") }.sorted() + + var allCmds = """ + // + // DO NOT EDIT THIS FILE: It is generated using the JSON files in this directory (based on swift-argument-parser --experimental-dump-help format). + // REGENERATE: swift run generate-command-models && swift run swiftformat Sources/SwiftlyCore/Commands*.swift + // + import SystemPackage + + + """ + + for cmdHelp in cmdHelpFiles { + let data = try Data(contentsOf: swiftlyCoreDir / cmdHelp) + let toolInfoThin = try JSONDecoder().decode(ToolInfoHeader.self, from: data) + guard toolInfoThin.serializationVersion == 0 else { + fatalError("Unsupported serialization version in \(swiftlyCoreDir / cmdHelp)") + } + + let toolInfo = try JSONDecoder().decode(ToolInfoV0.self, from: data) + + let cmdExtData = try? Data(contentsOf: swiftlyCoreDir / cmdHelp.replacingOccurrences(of: ".json", with: "-ext.json")) + + let cmdExt = if let cmdExtData { + try JSONDecoder().decode(CommandExtensions.self, from: cmdExtData) + } else { + CommandExtensions() + } + + let top = toolInfo.command + + allCmds += """ + extension SystemCommand { + \(self.asCommand(top, cmdExt).split(separator: "\n", omittingEmptySubsequences: false).map { String($0) }.joined(separator: "\n ")) + } + + + """ + } + + try await allCmds.write(to: swiftlyCoreDir / "Commands.swift", atomically: true) + } + + struct Vars { + var argInfos: [ArgumentInfoV0] + var cmdExt: CommandExtensions + var path: [String] + + init(_ args: [ArgumentInfoV0], _ cmdExt: CommandExtensions, path: [String]) { + self.argInfos = args.filter { $0.kind == .positional } + self.cmdExt = cmdExt + self.path = path + } + + var haveRepeats: Bool { self.argInfos.filter { $0.isRepeating && !$0.isOptional }.count > 0 } + + func type(_ arg: ArgumentInfoV0) -> String { + let argPath = (self.path + [arg.valueName!]).joined(separator: ".") + let ext: ArgumentExtension? = self.cmdExt.arguments?.filter { $0.path == argPath }.first + + if let ext, ext.type == "file" { + return "FilePath" + } + + return "String" + } + + var asSignature: [String] { + self.argInfos.map { + $0.isOptional ? + "\($0.asSwiftName): \($0.isRepeating ? "[\(self.type($0))]?" : self.type($0) + "? = nil")" : + "\($0.asSwiftName): \($0.isRepeating ? "[\(self.type($0))]" : self.type($0))" + } + } + + var asSignatureVariadic: [String] { + self.argInfos.map { + $0.isOptional ? + "\($0.asSwiftName): \($0.isRepeating ? "[\(self.type($0))]?" : self.type($0) + "? = nil")" : // Cannot be both optional and variadic + "\($0.asSwiftName): \($0.isRepeating ? "\(self.type($0))..." : self.type($0))" + } + } + + var asParameters: [String] { + self.argInfos.map { $0.asSwiftName + ": " + $0.asSwiftName } + } + + var asDeclarations: [String] { + self.argInfos.map { "public var \($0.asSwiftName): \($0.isRepeating ? "[\(self.type($0))]" : self.type($0))\($0.isOptional ? "?" : "")" } + } + + var asInitializations: [String] { + self.argInfos.map { "self.\($0.asSwiftName) = \($0.asSwiftName)" } + } + + var asArgs: [String] { + self.argInfos.map { + $0.isOptional ? + $0.isRepeating ? + "if let \($0.asSwiftName) = self.\($0.asSwiftName) { genArgs += \($0.asSwiftName).map(\\.description) }" : + "if let \($0.asSwiftName) = self.\($0.asSwiftName) { genArgs += [\($0.asSwiftName).description] }" : + $0.isRepeating ? + "genArgs += self.\($0.asSwiftName).map(\\.description)" : + "genArgs += [self.\($0.asSwiftName).description]" + } + } + } + + struct Options { + var argInfos: [ArgumentInfoV0] + var cmdExt: CommandExtensions + var path: [String] + + init(_ args: [ArgumentInfoV0], _ cmdExt: CommandExtensions, path: [String]) { + self.argInfos = args.filter { $0.kind == .option || $0.kind == .flag } + self.cmdExt = cmdExt + self.path = path + } + + var exist: Bool { self.argInfos.count != 0 } + + func type(_ arg: ArgumentInfoV0) -> String { + let argPath = (self.path + [arg.valueName!]).joined(separator: ".") + let ext: ArgumentExtension? = self.cmdExt.arguments?.filter { $0.path == argPath }.first + + if let ext, ext.type == "file" { + return "FilePath" + } + + return "String" + } + + func asSignature(_ structName: String) -> [String] { + self.exist ? ["_ options: [\(structName).Option]"] : [] + } + + func asSignatureVariadic(_ structName: String) -> [String] { + self.exist ? ["_ options: \(structName).Option..."] : [] + } + + var asParameter: [String] { + self.exist ? ["options"] : [] + } + + private func argSwitchCase(_ arg: ArgumentInfoV0) -> String { + let flag = arg.kind == .flag + var name: String? + if let longName = arg.names?.filter { $0.kind == .long }.first?.name { + let dashes = (self.cmdExt.optionsSingleDash ?? false) ? "-" : "--" + name = dashes + longName + } else if let shortName = arg.names?.filter { $0.kind == .short }.first?.name { + name = "-" + shortName + } else if let longNameWithSingleDash = arg.names?.filter { $0.kind == .longWithSingleDash }.first?.name { + name = "-" + longNameWithSingleDash + } + + guard let name else { fatalError("Unable to find a suitable argument name for \(arg)") } + + return """ + case .\(arg.asSwiftName)\(!flag ? "(let \(arg.asSwiftName))" : ""): + ["\(name)"\(!flag ? ", String(describing: \(arg.asSwiftName))" : "")] + """.split(separator: "\n", omittingEmptySubsequences: false).joined(separator: "\n ") + } + + var asEnum: [String] { + guard self.exist else { return [] } + + return """ + public enum Option { + \(self.argInfos.map { "case \($0.asSwiftName)\($0.kind != .flag ? "(\(type($0)))" : "")" }.joined(separator: "\n ")) + + public func args() -> [String] { + switch self { + \(self.argInfos.map { self.argSwitchCase($0) }.joined(separator: "\n ")) + } + } + } + """.split(separator: "\n", omittingEmptySubsequences: false).map { String($0) } + } + + var asArgs: [String] { + guard self.exist else { return [] } + + return """ + for opt in self.options { + genArgs.append(contentsOf: opt.args()) + } + """.split(separator: "\n", omittingEmptySubsequences: false).map { String($0) } + } + + var asDeclaration: [String] { + guard self.argInfos.count != 0 else { return [] } + + return ["public var options: [Option]"] + } + + var asInitialization: [String] { + self.exist ? ["self.options = options"] : [] + } + } + + func asCommand(_ command: CommandInfoV0, _ cmdExt: CommandExtensions, path: [String] = []) -> String { + let execName = command.commandName + + let swiftName = command.commandName.replacingOccurrences(of: "-", with: "") + + var funcName = swiftName + if ["init", "import"].contains(funcName) { + // TODO: handle all of Swift's keywords here + funcName = "_" + funcName + } + let structName = "\(swiftName)Command" + + func indent(_ level: Int) -> String { String(repeating: " ", count: level * 4) } + + let options = Options(command.arguments ?? [], cmdExt, path: path) + let vars = Vars(command.arguments ?? [], cmdExt, path: path) + + let helperFunc: String + if path.count == 0 { + helperFunc = """ + \((options.exist || vars.haveRepeats) ? """ + \(command.abstract != nil ? "// \(command.abstract!.replacingOccurrences(of: "\n", with: ""))" : "") + public static func \(funcName)(\((["executable: Executable = \(structName).defaultExecutable"] + options.asSignatureVariadic(structName) + vars.asSignatureVariadic).joined(separator: ", "))) -> \(structName) { + Self.\(funcName)(\((["executable: executable"] + options.asParameter + vars.asParameters).joined(separator: ", "))) + } + """ : "") + + \(command.abstract != nil ? "// \(command.abstract!.replacingOccurrences(of: "\n", with: ""))" : "") + public static func \(funcName)(\((["executable: Executable = \(structName).defaultExecutable"] + options.asSignature(structName) + vars.asSignature).joined(separator: ", "))) -> \(structName) { + \(structName)(\((["executable: executable"] + options.asParameter + vars.asParameters).joined(separator: ", "))) + } + """ + } else { + helperFunc = """ + \((options.exist || vars.haveRepeats) ? """ + \(command.abstract != nil ? "// \(command.abstract!.replacingOccurrences(of: "\n", with: ""))" : "") + public func \(funcName)(\((options.asSignatureVariadic(structName) + vars.asSignatureVariadic).joined(separator: ", "))) -> \(structName) { + self.\(funcName)(\((options.asParameter + vars.asParameters).joined(separator: ", "))) + } + """ : "") + + \(command.abstract != nil ? "// \(command.abstract!.replacingOccurrences(of: "\n", with: ""))" : "") + public func \(funcName)(\((options.asSignature(structName) + vars.asSignature).joined(separator: ", "))) -> \(structName) { + \(structName)(\((["parent: self"] + options.asParameter + vars.asParameters).joined(separator: ", "))) + } + """ + } + + let configFunc: String + if path.count == 0 { + configFunc = """ + public func config() -> Configuration { + var genArgs: [String] = [] + + \((options.asArgs + vars.asArgs).joined(separator: "\n" + indent(1))) + + return Configuration( + executable: self.executable, + arguments: Arguments(genArgs), + environment: .inherit + ) + } + """.split(separator: "\n", omittingEmptySubsequences: false).joined(separator: "\n" + indent(1)) + } else { + configFunc = """ + public func config() -> Configuration { + var c = self.parent.config() + + var genArgs = c.arguments.storage.map(\\.description) + + genArgs.append("\(execName)") + + \((options.asArgs + vars.asArgs).joined(separator: "\n" + indent(1))) + + c.arguments = .init(genArgs) + + return c + } + """.split(separator: "\n", omittingEmptySubsequences: false).joined(separator: "\n" + indent(1)) + } + + let subcommands = (command.subcommands ?? []).map { asCommand($0, cmdExt, path: path + [$0.commandName]) }.joined(separator: "\n") + + let prefix = indent(path.count) + + return prefix + """ + \(helperFunc) + + public struct \(structName) { + \( + ( + (path.count == 0 ? [ + "public static var defaultExecutable: Executable { .name(\"\(execName)\") }", + "public var executable: Executable" + ] : + [ + "public var parent: \(command.superCommands!.last!)Command", + ]) + + options.asDeclaration + + vars.asDeclarations + ).joined(separator: "\n" + indent(2)) + ) + + \(options.asEnum.joined(separator: "\n" + indent(1))) + + public init(\(([path.count == 0 ? "executable: Executable" : "parent: \(command.superCommands!.last!)Command"] + options.asSignature(structName) + vars.asSignature).joined(separator: ", "))) { + \(([path.count == 0 ? "self.executable = executable" : "self.parent = parent"] + options.asInitialization + vars.asInitializations).joined(separator: "\n" + indent(2))) + } + + \(configFunc) + + \(subcommands) + } + """.split(separator: "\n", omittingEmptySubsequences: false).joined(separator: "\n" + indent(path.count)) + } +}