Skip to content

Commit 1a361f7

Browse files
miggs597tomerd
andauthored
Fix swift package init --help printout (#3407) (#3473)
* Fix --help printout * What a fixed --help would look like All of our subcommands need fixing. This is a demo of what fixing all the commands would look like Also includes some fillings for `Options()` that didn't have any help * Testable import, and throw InternalError * Updated all remaining commands * Bump Swift-Argument-Parser Includes the new constructor that we need * Reverted import of Commands * Reverted indexStore, to be implemented in separate pr Co-authored-by: Miguel Perez <[email protected]> (cherry picked from commit a52d4d8) Co-authored-by: tomer doron <[email protected]>
1 parent 0f5276c commit 1a361f7

File tree

5 files changed

+41
-37
lines changed

5 files changed

+41
-37
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ if ProcessInfo.processInfo.environment["SWIFTCI_USE_LOCAL_DEPS"] == nil {
364364
// The 'swift-argument-parser' version declared here must match that
365365
// used by 'swift-driver' and 'sourcekit-lsp'. Please coordinate
366366
// dependency version changes here with those projects.
367-
.package(url: "https://github.com/apple/swift-argument-parser.git", .upToNextMinor(from: "0.3.1")),
367+
.package(url: "https://github.com/apple/swift-argument-parser.git", .upToNextMinor(from: "0.4.3")),
368368
.package(url: "https://github.com/apple/swift-driver.git", .branch(relatedDependenciesBranch)),
369369
.package(url: "https://github.com/apple/swift-crypto.git", .upToNextMinor(from: "1.1.4")),
370370
]

Sources/Commands/SwiftBuildTool.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public struct SwiftBuildTool: SwiftCommand {
8383
version: SwiftVersion.currentVersion.completeDisplayString,
8484
helpNames: [.short, .long, .customLong("help", withSingleDash: true)])
8585

86-
@OptionGroup()
86+
@OptionGroup(_hiddenFromHelp: true)
8787
var swiftOptions: SwiftToolOptions
8888

8989
@OptionGroup()

Sources/Commands/SwiftPackageTool.swift

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ extension SwiftPackageTool {
7878
static let configuration = CommandConfiguration(
7979
abstract: "Delete build artifacts")
8080

81-
@OptionGroup()
81+
@OptionGroup(_hiddenFromHelp: true)
8282
var swiftOptions: SwiftToolOptions
8383

8484
func run(_ swiftTool: SwiftTool) throws {
@@ -90,7 +90,7 @@ extension SwiftPackageTool {
9090
static let configuration = CommandConfiguration(
9191
abstract: "Purge the global repository cache.")
9292

93-
@OptionGroup()
93+
@OptionGroup(_hiddenFromHelp: true)
9494
var swiftOptions: SwiftToolOptions
9595

9696
func run(_ swiftTool: SwiftTool) throws {
@@ -102,7 +102,7 @@ extension SwiftPackageTool {
102102
static let configuration = CommandConfiguration(
103103
abstract: "Reset the complete cache/build directory")
104104

105-
@OptionGroup()
105+
@OptionGroup(_hiddenFromHelp: true)
106106
var swiftOptions: SwiftToolOptions
107107

108108
func run(_ swiftTool: SwiftTool) throws {
@@ -114,7 +114,7 @@ extension SwiftPackageTool {
114114
static let configuration = CommandConfiguration(
115115
abstract: "Update package dependencies")
116116

117-
@OptionGroup()
117+
@OptionGroup(_hiddenFromHelp: true)
118118
var swiftOptions: SwiftToolOptions
119119

120120
@Flag(name: [.long, .customShort("n")],
@@ -160,10 +160,10 @@ extension SwiftPackageTool {
160160
static let configuration = CommandConfiguration(
161161
abstract: "Describe the current package")
162162

163-
@OptionGroup()
163+
@OptionGroup(_hiddenFromHelp: true)
164164
var swiftOptions: SwiftToolOptions
165165

166-
@Option()
166+
@Option(help: "json | text")
167167
var type: DescribeMode = .text
168168

169169
func run(_ swiftTool: SwiftTool) throws {
@@ -191,21 +191,22 @@ extension SwiftPackageTool {
191191
}
192192

193193
struct Init: SwiftCommand {
194-
static let configuration = CommandConfiguration(
194+
public static let configuration = CommandConfiguration(
195195
abstract: "Initialize a new package")
196196

197-
@OptionGroup()
197+
@OptionGroup(_hiddenFromHelp: true)
198198
var swiftOptions: SwiftToolOptions
199199

200-
@Option(name: .customLong("type"))
200+
@Option(name: .customLong("type"), help: "Package type: empty | library | executable | system-module | manifest")
201201
var initMode: InitPackage.PackageType = .library
202202

203203
@Option(name: .customLong("name"), help: "Provide custom package name")
204204
var packageName: String?
205-
205+
206206
func run(_ swiftTool: SwiftTool) throws {
207-
// FIXME: Error handling.
208-
let cwd = localFileSystem.currentWorkingDirectory!
207+
guard let cwd = localFileSystem.currentWorkingDirectory else {
208+
throw InternalError("Could not find the current working directory")
209+
}
209210

210211
let packageName = self.packageName ?? cwd.basename
211212
let initPackage = try InitPackage(
@@ -221,7 +222,7 @@ extension SwiftPackageTool {
221222
static let configuration = CommandConfiguration(
222223
commandName: "_format")
223224

224-
@OptionGroup()
225+
@OptionGroup(_hiddenFromHelp: true)
225226
var swiftOptions: SwiftToolOptions
226227

227228
@Argument(parsing: .unconditionalRemaining,
@@ -291,7 +292,7 @@ extension SwiftPackageTool {
291292
static let configuration = CommandConfiguration(
292293
commandName: "experimental-api-diff")
293294

294-
@OptionGroup()
295+
@OptionGroup(_hiddenFromHelp: true)
295296
var swiftOptions: SwiftToolOptions
296297

297298
@Argument(help: "The baseline treeish")
@@ -343,7 +344,10 @@ extension SwiftPackageTool {
343344
}
344345

345346
struct DumpSymbolGraph: SwiftCommand {
346-
@OptionGroup()
347+
static let configuration = CommandConfiguration(
348+
abstract: "Dump Symbol Graph")
349+
350+
@OptionGroup(_hiddenFromHelp: true)
347351
var swiftOptions: SwiftToolOptions
348352

349353
func run(_ swiftTool: SwiftTool) throws {
@@ -366,7 +370,7 @@ extension SwiftPackageTool {
366370
static let configuration = CommandConfiguration(
367371
abstract: "Print parsed Package.swift as JSON")
368372

369-
@OptionGroup()
373+
@OptionGroup(_hiddenFromHelp: true)
370374
var swiftOptions: SwiftToolOptions
371375

372376
func run(_ swiftTool: SwiftTool) throws {
@@ -390,7 +394,7 @@ extension SwiftPackageTool {
390394
}
391395

392396
struct DumpPIF: SwiftCommand {
393-
@OptionGroup()
397+
@OptionGroup(_hiddenFromHelp: true)
394398
var swiftOptions: SwiftToolOptions
395399

396400
@Flag(help: "Preserve the internal structure of PIF")
@@ -409,7 +413,7 @@ extension SwiftPackageTool {
409413
static let configuration = CommandConfiguration(
410414
abstract: "Put a package in editable mode")
411415

412-
@OptionGroup()
416+
@OptionGroup(_hiddenFromHelp: true)
413417
var swiftOptions: SwiftToolOptions
414418

415419
@Option(help: "The revision to edit", transform: { Revision(identifier: $0) })
@@ -442,7 +446,7 @@ extension SwiftPackageTool {
442446
static let configuration = CommandConfiguration(
443447
abstract: "Remove a package from editable mode")
444448

445-
@OptionGroup()
449+
@OptionGroup(_hiddenFromHelp: true)
446450
var swiftOptions: SwiftToolOptions
447451

448452
@Flag(name: .customLong("force"),
@@ -469,10 +473,10 @@ extension SwiftPackageTool {
469473
static let configuration = CommandConfiguration(
470474
abstract: "Print the resolved dependency graph")
471475

472-
@OptionGroup()
476+
@OptionGroup(_hiddenFromHelp: true)
473477
var swiftOptions: SwiftToolOptions
474478

475-
@Option()
479+
@Option(help: "text | dot | json | flatlist")
476480
var format: ShowDependenciesMode = .text
477481

478482
func run(_ swiftTool: SwiftTool) throws {
@@ -486,10 +490,10 @@ extension SwiftPackageTool {
486490
commandName: "tools-version",
487491
abstract: "Manipulate tools version of the current package")
488492

489-
@OptionGroup()
493+
@OptionGroup(_hiddenFromHelp: true)
490494
var swiftOptions: SwiftToolOptions
491495

492-
@Option()
496+
@Option(help: "text | dot | json | flatlist")
493497
var format: ShowDependenciesMode = .text
494498

495499
@Flag(help: "Set tools version of package to the current tools version in use")
@@ -545,7 +549,7 @@ extension SwiftPackageTool {
545549
static let configuration = CommandConfiguration(
546550
abstract: "Compute the checksum for a binary artifact.")
547551

548-
@OptionGroup()
552+
@OptionGroup(_hiddenFromHelp: true)
549553
var swiftOptions: SwiftToolOptions
550554

551555
@Argument(help: "The absolute or relative path to the binary artifact")
@@ -573,7 +577,7 @@ extension SwiftPackageTool {
573577
abstract: "Create a source archive for the package"
574578
)
575579

576-
@OptionGroup()
580+
@OptionGroup(_hiddenFromHelp: true)
577581
var swiftOptions: SwiftToolOptions
578582

579583
@Option(
@@ -635,7 +639,7 @@ extension SwiftPackageTool {
635639
var skipExtraFiles: Bool = false
636640
}
637641

638-
@OptionGroup()
642+
@OptionGroup(_hiddenFromHelp: true)
639643
var swiftOptions: SwiftToolOptions
640644

641645
@OptionGroup()
@@ -711,7 +715,7 @@ extension SwiftPackageTool.Config {
711715
static let configuration = CommandConfiguration(
712716
abstract: "Set a mirror for a dependency")
713717

714-
@OptionGroup()
718+
@OptionGroup(_hiddenFromHelp: true)
715719
var swiftOptions: SwiftToolOptions
716720

717721
@Option(help: "The package dependency url")
@@ -745,7 +749,7 @@ extension SwiftPackageTool.Config {
745749
static let configuration = CommandConfiguration(
746750
abstract: "Remove an existing mirror")
747751

748-
@OptionGroup()
752+
@OptionGroup(_hiddenFromHelp: true)
749753
var swiftOptions: SwiftToolOptions
750754

751755
@Option(help: "The package dependency url")
@@ -779,7 +783,7 @@ extension SwiftPackageTool.Config {
779783
static let configuration = CommandConfiguration(
780784
abstract: "Print mirror configuration for the given package dependency")
781785

782-
@OptionGroup()
786+
@OptionGroup(_hiddenFromHelp: true)
783787
var swiftOptions: SwiftToolOptions
784788

785789
@Option(help: "The package dependency url")
@@ -831,7 +835,7 @@ extension SwiftPackageTool {
831835
static let configuration = CommandConfiguration(
832836
abstract: "Resolve package dependencies")
833837

834-
@OptionGroup()
838+
@OptionGroup(_hiddenFromHelp: true)
835839
var swiftOptions: SwiftToolOptions
836840

837841
@OptionGroup()
@@ -861,7 +865,7 @@ extension SwiftPackageTool {
861865
struct Fetch: SwiftCommand {
862866
static let configuration = CommandConfiguration(shouldDisplay: false)
863867

864-
@OptionGroup()
868+
@OptionGroup(_hiddenFromHelp: true)
865869
var swiftOptions: SwiftToolOptions
866870

867871
@OptionGroup()
@@ -905,10 +909,10 @@ extension SwiftPackageTool {
905909
)
906910
}
907911

908-
@OptionGroup()
912+
@OptionGroup(_hiddenFromHelp: true)
909913
var swiftOptions: SwiftToolOptions
910914

911-
@Argument()
915+
@Argument(help: "generate-bash-script | generate-zsh-script |\ngenerate-fish-script | list-dependencies | list-executables")
912916
var mode: Mode
913917

914918
func run(_ swiftTool: SwiftTool) throws {

Sources/Commands/SwiftRunTool.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public struct SwiftRunTool: SwiftCommand {
9090
version: SwiftVersion.currentVersion.completeDisplayString,
9191
helpNames: [.short, .long, .customLong("help", withSingleDash: true)])
9292

93-
@OptionGroup()
93+
@OptionGroup(_hiddenFromHelp: true)
9494
public var swiftOptions: SwiftToolOptions
9595

9696
@OptionGroup()

Sources/Commands/SwiftTestTool.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ public struct SwiftTestTool: SwiftCommand {
194194
version: SwiftVersion.currentVersion.completeDisplayString,
195195
helpNames: [.short, .long, .customLong("help", withSingleDash: true)])
196196

197-
@OptionGroup()
197+
@OptionGroup(_hiddenFromHelp: true)
198198
var swiftOptions: SwiftToolOptions
199199

200200
@OptionGroup()

0 commit comments

Comments
 (0)