@@ -122,26 +122,14 @@ public final class Package {
122
122
/// dependency requirements; you should remove commit-based dependency
123
123
/// requirements before publishing a version of your package.
124
124
public enum Requirement {
125
- #if PACKAGE_DESCRIPTION_4
126
125
case exactItem( Version )
127
126
case rangeItem( Range < Version > )
128
127
case revisionItem( String )
129
128
case branchItem( String )
130
129
case localPackageItem
131
- #else
132
- case _exactItem( Version )
133
- case _rangeItem( Range < Version > )
134
- case _revisionItem( String )
135
- case _branchItem( String )
136
- case _localPackageItem
137
- #endif
138
130
139
131
var isLocalPackage : Bool {
140
- #if PACKAGE_DESCRIPTION_4
141
132
if case . localPackageItem = self { return true }
142
- #else
143
- if case . _localPackageItem = self { return true }
144
- #endif
145
133
return false
146
134
}
147
135
}
@@ -167,14 +155,12 @@ public final class Package {
167
155
/// The name of the Swift package.
168
156
public var name : String
169
157
170
- #if !PACKAGE_DESCRIPTION_4
171
158
/// The list of supported platforms with a custom deployment target.
172
159
@available ( _PackageDescription, introduced: 5 )
173
160
public var platforms : [ SupportedPlatform ] ? {
174
161
get { return _platforms }
175
162
set { _platforms = newValue }
176
163
}
177
- #endif
178
164
private var _platforms : [ SupportedPlatform ] ?
179
165
180
166
/// The default localization for resources.
@@ -203,27 +189,21 @@ public final class Package {
203
189
/// The list of package dependencies.
204
190
public var dependencies : [ Dependency ]
205
191
206
- #if PACKAGE_DESCRIPTION_4
207
- /// The list of Swift versions that this package is compatible with.
208
- public var swiftLanguageVersions : [ Int ] ?
209
- #else
210
192
/// The list of Swift versions that this package is compatible with.
211
193
public var swiftLanguageVersions : [ SwiftVersion ] ?
212
- #endif
213
194
214
195
/// The C language standard to use for all C targets in this package.
215
196
public var cLanguageStandard : CLanguageStandard ?
216
197
217
198
/// The C++ language standard to use for all C++ targets in this package.
218
199
public var cxxLanguageStandard : CXXLanguageStandard ?
219
200
220
- #if PACKAGE_DESCRIPTION_4
221
201
/// Initializes a Swift package with configuration options you provide.
222
202
///
223
203
/// - Parameters:
224
204
/// - name: The name of the Swift package, or `nil`, if you want the Swift Package Manager to deduce the
225
205
/// name from the package’s Git URL.
226
- /// - pkgConfig: The name to use for C modules. If present, the Swift
206
+ /// - pkgConfig: The name to use for C modules. If present, the Swift
227
207
/// Package Manager searches for a `<name>.pc` file to get the
228
208
/// additional flags required for a system target.
229
209
/// - providers: The package providers for a system package.
@@ -233,6 +213,7 @@ public final class Package {
233
213
/// - swiftLanguageVersions: The list of Swift versions that this package is compatible with.
234
214
/// - cLanguageStandard: The C language standard to use for all C targets in this package.
235
215
/// - cxxLanguageStandard: The C++ language standard to use for all C++ targets in this package.
216
+ @available ( _PackageDescription, obsoleted: 4.2 )
236
217
public init (
237
218
name: String ,
238
219
pkgConfig: String ? = nil ,
@@ -250,12 +231,12 @@ public final class Package {
250
231
self . products = products
251
232
self . dependencies = dependencies
252
233
self . targets = targets
253
- self . swiftLanguageVersions = swiftLanguageVersions
234
+ self . swiftLanguageVersions = swiftLanguageVersions. map { $0 . map { . version ( " \( $0 ) " ) } }
254
235
self . cLanguageStandard = cLanguageStandard
255
236
self . cxxLanguageStandard = cxxLanguageStandard
256
237
registerExitHandler ( )
257
238
}
258
- #else
239
+
259
240
/// Initializes a Swift package with configuration options you provide.
260
241
///
261
242
/// - Parameters:
@@ -378,7 +359,6 @@ public final class Package {
378
359
self . cxxLanguageStandard = cxxLanguageStandard
379
360
registerExitHandler ( )
380
361
}
381
- #endif
382
362
383
363
private func registerExitHandler( ) {
384
364
// Add a custom exit handler to cause the package's JSON representation
@@ -457,26 +437,18 @@ extension LanguageTag: CustomStringConvertible {
457
437
/// The system package providers used in this Swift package.
458
438
public enum SystemPackageProvider {
459
439
460
- #if PACKAGE_DESCRIPTION_4
461
440
case brewItem( [ String ] )
462
441
case aptItem( [ String ] )
463
- #else
464
- case _brewItem( [ String ] )
465
- case _aptItem( [ String ] )
466
- case _yumItem( [ String ] )
467
- #endif
442
+ @available ( _PackageDescription, introduced: 5.3 )
443
+ case yumItem( [ String ] )
468
444
469
445
/// Creates a system package provider with a list of installable packages
470
446
/// for users of the HomeBrew package manager on macOS.
471
447
///
472
448
/// - Parameters:
473
449
/// - packages: The list of package names.
474
450
public static func brew( _ packages: [ String ] ) -> SystemPackageProvider {
475
- #if PACKAGE_DESCRIPTION_4
476
451
return . brewItem( packages)
477
- #else
478
- return . _brewItem( packages)
479
- #endif
480
452
}
481
453
482
454
/// Creates a system package provider with a list of installable packages
@@ -485,26 +457,18 @@ public enum SystemPackageProvider {
485
457
/// - Parameters:
486
458
/// - packages: The list of package names.
487
459
public static func apt( _ packages: [ String ] ) -> SystemPackageProvider {
488
- #if PACKAGE_DESCRIPTION_4
489
460
return . aptItem( packages)
490
- #else
491
- return . _aptItem( packages)
492
- #endif
493
461
}
494
462
495
- #if PACKAGE_DESCRIPTION_4
496
- // yum is not supported
497
- #else
498
463
/// Creates a system package provider with a list of installable packages
499
464
/// for users of the yum package manager on Red Hat Enterprise Linux or CentOS.
500
465
///
501
466
/// - Parameters:
502
467
/// - packages: The list of package names.
503
468
@available ( _PackageDescription, introduced: 5.3 )
504
469
public static func yum( _ packages: [ String ] ) -> SystemPackageProvider {
505
- return . _yumItem ( packages)
470
+ return . yumItem ( packages)
506
471
}
507
- #endif
508
472
}
509
473
510
474
// MARK: Package JSON serialization
@@ -528,26 +492,19 @@ extension Package: Encodable {
528
492
var container = encoder. container ( keyedBy: CodingKeys . self)
529
493
try container. encode ( name, forKey: . name)
530
494
531
- #if !PACKAGE_DESCRIPTION_4
532
495
if let defaultLocalization = _defaultLocalization {
533
496
try container. encode ( defaultLocalization. tag, forKey: . defaultLocalization)
534
497
}
535
498
if let platforms = self . _platforms {
536
499
try container. encode ( platforms, forKey: . platforms)
537
500
}
538
- #endif
539
501
540
502
try container. encode ( pkgConfig, forKey: . pkgConfig)
541
503
try container. encode ( providers, forKey: . providers)
542
504
try container. encode ( products, forKey: . products)
543
505
try container. encode ( dependencies, forKey: . dependencies)
544
506
try container. encode ( targets, forKey: . targets)
545
- #if PACKAGE_DESCRIPTION_4
546
- let slv = swiftLanguageVersions? . map ( { String ( $0) } )
547
- try container. encode ( slv, forKey: . swiftLanguageVersions)
548
- #else
549
507
try container. encode ( swiftLanguageVersions, forKey: . swiftLanguageVersions)
550
- #endif
551
508
try container. encode ( cLanguageStandard, forKey: . cLanguageStandard)
552
509
try container. encode ( cxxLanguageStandard, forKey: . cxxLanguageStandard)
553
510
}
@@ -567,28 +524,17 @@ extension SystemPackageProvider: Encodable {
567
524
568
525
public func encode( to encoder: Encoder ) throws {
569
526
var container = encoder. container ( keyedBy: CodingKeys . self)
570
- #if PACKAGE_DESCRIPTION_4
571
527
switch self {
572
528
case . brewItem( let packages) :
573
529
try container. encode ( Name . brew, forKey: . name)
574
530
try container. encode ( packages, forKey: . values)
575
531
case . aptItem( let packages) :
576
532
try container. encode ( Name . apt, forKey: . name)
577
533
try container. encode ( packages, forKey: . values)
578
- }
579
- #else
580
- switch self {
581
- case . _brewItem( let packages) :
582
- try container. encode ( Name . brew, forKey: . name)
583
- try container. encode ( packages, forKey: . values)
584
- case . _aptItem( let packages) :
585
- try container. encode ( Name . apt, forKey: . name)
586
- try container. encode ( packages, forKey: . values)
587
- case . _yumItem( let packages) :
534
+ case . yumItem( let packages) :
588
535
try container. encode ( Name . yum, forKey: . name)
589
536
try container. encode ( packages, forKey: . values)
590
537
}
591
- #endif
592
538
}
593
539
}
594
540
@@ -626,36 +572,21 @@ extension Target.Dependency: Encodable {
626
572
627
573
public func encode( to encoder: Encoder ) throws {
628
574
var container = encoder. container ( keyedBy: CodingKeys . self)
629
- #if PACKAGE_DESCRIPTION_4
630
- switch self {
631
- case . targetItem( let name) :
632
- try container. encode ( Kind . target, forKey: . type)
633
- try container. encode ( name, forKey: . name)
634
- case . productItem( let name, let package ) :
635
- try container. encode ( Kind . product, forKey: . type)
636
- try container. encode ( name, forKey: . name)
637
- try container. encode ( package , forKey: . package )
638
- case . byNameItem( let name) :
639
- try container. encode ( Kind . byName, forKey: . type)
640
- try container. encode ( name, forKey: . name)
641
- }
642
- #else
643
575
switch self {
644
- case . _targetItem ( let name, let condition) :
576
+ case . targetItem ( let name, let condition) :
645
577
try container. encode ( Kind . target, forKey: . type)
646
578
try container. encode ( name, forKey: . name)
647
579
try container. encode ( condition, forKey: . condition)
648
- case . _productItem ( let name, let package , let condition) :
580
+ case . productItem ( let name, let package , let condition) :
649
581
try container. encode ( Kind . product, forKey: . type)
650
582
try container. encode ( name, forKey: . name)
651
583
try container. encode ( package , forKey: . package )
652
584
try container. encode ( condition, forKey: . condition)
653
- case . _byNameItem ( let name, let condition) :
585
+ case . byNameItem ( let name, let condition) :
654
586
try container. encode ( Kind . byName, forKey: . type)
655
587
try container. encode ( name, forKey: . name)
656
588
try container. encode ( condition, forKey: . condition)
657
589
}
658
- #endif
659
590
}
660
591
}
661
592
0 commit comments