@@ -20,108 +20,161 @@ extension SwiftPackageTool {
2020 struct Config : ParsableCommand {
2121 static let configuration = CommandConfiguration (
2222 abstract: " Manipulate configuration of the package " ,
23- subcommands: [ SetMirror . self, UnsetMirror . self, GetMirror . self] )
23+ subcommands: [ SetMirror . self, UnsetMirror . self, GetMirror . self]
24+ )
2425 }
2526}
2627
2728extension SwiftPackageTool . Config {
2829 struct SetMirror : SwiftCommand {
2930 static let configuration = CommandConfiguration (
30- abstract: " Set a mirror for a dependency " )
31+ abstract: " Set a mirror for a dependency "
32+ )
3133
3234 @OptionGroup ( visibility: . hidden)
3335 var globalOptions : GlobalOptions
3436
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 ?
3742
38- @Option ( help : " The original url" )
39- var originalURL : String ?
43+ @Option ( name : . customLong ( " mirror- url" ) , help : . hidden )
44+ var _deprecate_mirrorURL : String ?
4045
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 ?
4351
4452 func run( _ swiftTool: SwiftTool ) throws {
4553 let config = try getMirrorsConfig ( swiftTool)
4654
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 {
4861 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
5074 }
5175
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 " ) )
5478 throw ExitCode . failure
5579 }
5680
5781 try config. applyLocal { mirrors in
58- mirrors. set ( mirrorURL : self . mirrorURL , forURL : originalURL )
82+ mirrors. set ( mirror : mirror , for : original )
5983 }
6084 }
6185 }
6286
6387 struct UnsetMirror : SwiftCommand {
6488 static let configuration = CommandConfiguration (
65- abstract: " Remove an existing mirror " )
89+ abstract: " Remove an existing mirror "
90+ )
6691
6792 @OptionGroup ( visibility: . hidden)
6893 var globalOptions : GlobalOptions
6994
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 ?
72103
73- @Option ( help: " The original url " )
74- var originalURL : String ?
104+ @Option ( help: " The original url or identity " )
105+ var original : String ?
75106
76- @Option ( help: " The mirror url " )
77- var mirrorURL : String ?
107+ @Option ( help: " The mirror url or identity " )
108+ var mirror : String ?
78109
79110 func run( _ swiftTool: SwiftTool ) throws {
80111 let config = try getMirrorsConfig ( swiftTool)
81112
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 {
83119 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+ )
85127 }
86128
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 " ) )
89133 throw ExitCode . failure
90134 }
91135
92136 try config. applyLocal { mirrors in
93- try mirrors. unset ( originalOrMirrorURL : originalOrMirrorURL )
137+ try mirrors. unset ( originalOrMirror : originalOrMirror )
94138 }
95139 }
96140 }
97141
98142 struct GetMirror : SwiftCommand {
99143 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+ )
101146
102147 @OptionGroup ( visibility: . hidden)
103148 var globalOptions : GlobalOptions
149+ @Option ( name: . customLong( " package-url " ) , help: . hidden)
150+ var _deprecate_packageURL : String ?
104151
105- @Option ( help : " The package dependency url" )
106- var packageURL : String ?
152+ @Option ( name : . customLong ( " original- url" ) , help : . hidden )
153+ var _deprecate_originalURL : String ?
107154
108- @Option ( help: " The original url " )
109- var originalURL : String ?
155+ @Option ( help: " The original url or identity " )
156+ var original : String ?
110157
111158 func run( _ swiftTool: SwiftTool ) throws {
112159 let config = try getMirrorsConfig ( swiftTool)
113160
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 {
115167 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+ )
117170 }
118171
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 " ) )
121174 throw ExitCode . failure
122175 }
123176
124- if let mirror = config. mirrors. mirrorURL ( for: originalURL ) {
177+ if let mirror = config. mirrors. mirror ( for: original ) {
125178 print ( mirror)
126179 } else {
127180 stderrStream <<< " not found \n "
@@ -141,8 +194,8 @@ extension SwiftPackageTool.Config {
141194 }
142195}
143196
144- private extension Basics . Diagnostic {
145- static func missingRequiredArg( _ argument: String ) -> Self {
197+ extension Basics . Diagnostic {
198+ fileprivate static func missingRequiredArg( _ argument: String ) -> Self {
146199 . error( " missing required argument \( argument) " )
147200 }
148201}
0 commit comments