@@ -20,108 +20,161 @@ extension SwiftPackageTool {
20
20
struct Config : ParsableCommand {
21
21
static let configuration = CommandConfiguration (
22
22
abstract: " Manipulate configuration of the package " ,
23
- subcommands: [ SetMirror . self, UnsetMirror . self, GetMirror . self] )
23
+ subcommands: [ SetMirror . self, UnsetMirror . self, GetMirror . self]
24
+ )
24
25
}
25
26
}
26
27
27
28
extension SwiftPackageTool . Config {
28
29
struct SetMirror : SwiftCommand {
29
30
static let configuration = CommandConfiguration (
30
- abstract: " Set a mirror for a dependency " )
31
+ abstract: " Set a mirror for a dependency "
32
+ )
31
33
32
34
@OptionGroup ( visibility: . hidden)
33
35
var globalOptions : GlobalOptions
34
36
35
- @Option ( help: " The package dependency url " )
36
- var packageURL : String ?
37
+ @Option ( name: . customLong( " package-url " ) , help: . hidden)
38
+ var _deprecate_packageURL : String ?
39
+
40
+ @Option ( name: . customLong( " original-url " ) , help: . hidden)
41
+ var _deprecate_originalURL : String ?
37
42
38
- @Option ( help : " The original url" )
39
- var originalURL : String ?
43
+ @Option ( name : . customLong ( " mirror- url" ) , help : . hidden )
44
+ var _deprecate_mirrorURL : String ?
40
45
41
- @Option ( help: " The mirror url " )
42
- var mirrorURL : String
46
+ @Option ( help: " The original url or identity " )
47
+ var original : String ?
48
+
49
+ @Option ( help: " The mirror url or identity " )
50
+ var mirror : String ?
43
51
44
52
func run( _ swiftTool: SwiftTool ) throws {
45
53
let config = try getMirrorsConfig ( swiftTool)
46
54
47
- if self . packageURL != nil {
55
+ if self . _deprecate_packageURL != nil {
56
+ swiftTool. observabilityScope. emit (
57
+ warning: " '--package-url' option is deprecated; use '--original' instead "
58
+ )
59
+ }
60
+ if self . _deprecate_originalURL != nil {
48
61
swiftTool. observabilityScope. emit (
49
- warning: " '--package-url' option is deprecated; use '--original-url' instead " )
62
+ warning: " '--original-url' option is deprecated; use '--original' instead "
63
+ )
64
+ }
65
+ if self . _deprecate_mirrorURL != nil {
66
+ swiftTool. observabilityScope. emit (
67
+ warning: " '--mirror-url' option is deprecated; use '--mirror' instead "
68
+ )
69
+ }
70
+
71
+ guard let original = self . _deprecate_packageURL ?? self . _deprecate_originalURL ?? self . original else {
72
+ swiftTool. observabilityScope. emit ( . missingRequiredArg( " --original " ) )
73
+ throw ExitCode . failure
50
74
}
51
75
52
- guard let originalURL = self . packageURL ?? self . originalURL else {
53
- swiftTool. observabilityScope. emit ( . missingRequiredArg( " --original-url " ) )
76
+ guard let mirror = self . _deprecate_mirrorURL ?? self . mirror else {
77
+ swiftTool. observabilityScope. emit ( . missingRequiredArg( " --mirror " ) )
54
78
throw ExitCode . failure
55
79
}
56
80
57
81
try config. applyLocal { mirrors in
58
- mirrors. set ( mirrorURL : self . mirrorURL , forURL : originalURL )
82
+ mirrors. set ( mirror : mirror , for : original )
59
83
}
60
84
}
61
85
}
62
86
63
87
struct UnsetMirror : SwiftCommand {
64
88
static let configuration = CommandConfiguration (
65
- abstract: " Remove an existing mirror " )
89
+ abstract: " Remove an existing mirror "
90
+ )
66
91
67
92
@OptionGroup ( visibility: . hidden)
68
93
var globalOptions : GlobalOptions
69
94
70
- @Option ( help: " The package dependency url " )
71
- var packageURL : String ?
95
+ @Option ( name: . customLong( " package-url " ) , help: . hidden)
96
+ var _deprecate_packageURL : String ?
97
+
98
+ @Option ( name: . customLong( " original-url " ) , help: . hidden)
99
+ var _deprecate_originalURL : String ?
100
+
101
+ @Option ( name: . customLong( " mirror-url " ) , help: . hidden)
102
+ var _deprecate_mirrorURL : String ?
72
103
73
- @Option ( help: " The original url " )
74
- var originalURL : String ?
104
+ @Option ( help: " The original url or identity " )
105
+ var original : String ?
75
106
76
- @Option ( help: " The mirror url " )
77
- var mirrorURL : String ?
107
+ @Option ( help: " The mirror url or identity " )
108
+ var mirror : String ?
78
109
79
110
func run( _ swiftTool: SwiftTool ) throws {
80
111
let config = try getMirrorsConfig ( swiftTool)
81
112
82
- if self . packageURL != nil {
113
+ if self . _deprecate_packageURL != nil {
114
+ swiftTool. observabilityScope. emit (
115
+ warning: " '--package-url' option is deprecated; use '--original' instead "
116
+ )
117
+ }
118
+ if self . _deprecate_originalURL != nil {
83
119
swiftTool. observabilityScope. emit (
84
- warning: " '--package-url' option is deprecated; use '--original-url' instead " )
120
+ warning: " '--original-url' option is deprecated; use '--original' instead "
121
+ )
122
+ }
123
+ if self . _deprecate_mirrorURL != nil {
124
+ swiftTool. observabilityScope. emit (
125
+ warning: " '--mirror-url' option is deprecated; use '--mirror' instead "
126
+ )
85
127
}
86
128
87
- guard let originalOrMirrorURL = self . packageURL ?? self . originalURL ?? self . mirrorURL else {
88
- swiftTool. observabilityScope. emit ( . missingRequiredArg( " --original-url or --mirror-url " ) )
129
+ guard let originalOrMirror = self . _deprecate_packageURL ?? self . _deprecate_originalURL ?? self
130
+ . original ?? self . _deprecate_mirrorURL ?? self . mirror
131
+ else {
132
+ swiftTool. observabilityScope. emit ( . missingRequiredArg( " --original or --mirror " ) )
89
133
throw ExitCode . failure
90
134
}
91
135
92
136
try config. applyLocal { mirrors in
93
- try mirrors. unset ( originalOrMirrorURL : originalOrMirrorURL )
137
+ try mirrors. unset ( originalOrMirror : originalOrMirror )
94
138
}
95
139
}
96
140
}
97
141
98
142
struct GetMirror : SwiftCommand {
99
143
static let configuration = CommandConfiguration (
100
- abstract: " Print mirror configuration for the given package dependency " )
144
+ abstract: " Print mirror configuration for the given package dependency "
145
+ )
101
146
102
147
@OptionGroup ( visibility: . hidden)
103
148
var globalOptions : GlobalOptions
149
+ @Option ( name: . customLong( " package-url " ) , help: . hidden)
150
+ var _deprecate_packageURL : String ?
104
151
105
- @Option ( help : " The package dependency url" )
106
- var packageURL : String ?
152
+ @Option ( name : . customLong ( " original- url" ) , help : . hidden )
153
+ var _deprecate_originalURL : String ?
107
154
108
- @Option ( help: " The original url " )
109
- var originalURL : String ?
155
+ @Option ( help: " The original url or identity " )
156
+ var original : String ?
110
157
111
158
func run( _ swiftTool: SwiftTool ) throws {
112
159
let config = try getMirrorsConfig ( swiftTool)
113
160
114
- if self . packageURL != nil {
161
+ if self . _deprecate_packageURL != nil {
162
+ swiftTool. observabilityScope. emit (
163
+ warning: " '--package-url' option is deprecated; use '--original' instead "
164
+ )
165
+ }
166
+ if self . _deprecate_originalURL != nil {
115
167
swiftTool. observabilityScope. emit (
116
- warning: " '--package-url' option is deprecated; use '--original-url' instead " )
168
+ warning: " '--original-url' option is deprecated; use '--original' instead "
169
+ )
117
170
}
118
171
119
- guard let originalURL = self . packageURL ?? self . originalURL else {
120
- swiftTool. observabilityScope. emit ( . missingRequiredArg( " --original-url " ) )
172
+ guard let original = self . _deprecate_packageURL ?? self . _deprecate_originalURL ?? self . original else {
173
+ swiftTool. observabilityScope. emit ( . missingRequiredArg( " --original " ) )
121
174
throw ExitCode . failure
122
175
}
123
176
124
- if let mirror = config. mirrors. mirrorURL ( for: originalURL ) {
177
+ if let mirror = config. mirrors. mirror ( for: original ) {
125
178
print ( mirror)
126
179
} else {
127
180
stderrStream <<< " not found \n "
@@ -141,8 +194,8 @@ extension SwiftPackageTool.Config {
141
194
}
142
195
}
143
196
144
- private extension Basics . Diagnostic {
145
- static func missingRequiredArg( _ argument: String ) -> Self {
197
+ extension Basics . Diagnostic {
198
+ fileprivate static func missingRequiredArg( _ argument: String ) -> Self {
146
199
. error( " missing required argument \( argument) " )
147
200
}
148
201
}
0 commit comments