Skip to content

Commit d77dad0

Browse files
authored
[Traits] Remove experimental and SPI guards (#8179)
1 parent a80f17d commit d77dad0

File tree

21 files changed

+62
-82
lines changed

21 files changed

+62
-82
lines changed

Fixtures/Traits/Example/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "TraitsExample",

Fixtures/Traits/Package1/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package1",

Fixtures/Traits/Package10/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package10",

Fixtures/Traits/Package2/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package2",

Fixtures/Traits/Package3/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package3",

Fixtures/Traits/Package4/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package4",

Fixtures/Traits/Package5/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package5",

Fixtures/Traits/Package6/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package6",

Fixtures/Traits/Package7/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package7",

Fixtures/Traits/Package8/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package8",

Fixtures/Traits/Package9/Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// swift-tools-version: 999.0.0
1+
// swift-tools-version: 6.1
22

3-
@_spi(ExperimentalTraits) import PackageDescription
3+
import PackageDescription
44

55
let package = Package(
66
name: "Package9",

Sources/CoreCommands/Options.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -647,7 +647,7 @@ package struct TraitOptions: ParsableArguments {
647647

648648
/// The traits to enable for the package.
649649
@Option(
650-
name: .customLong("experimental-traits"),
650+
name: .customLong("traits"),
651651
help: "Enables the passed traits of the package. Multiple traits can be specified by providing a space 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."
652652
)
653653
package var _enabledTraits: String?
@@ -659,14 +659,14 @@ package struct TraitOptions: ParsableArguments {
659659

660660
/// Enables all traits of the package.
661661
@Flag(
662-
name: .customLong("experimental-enable-all-traits"),
662+
name: .customLong("enable-all-traits"),
663663
help: "Enables all traits of the package."
664664
)
665665
package var enableAllTraits: Bool = false
666666

667667
/// Disables all default traits of the package.
668668
@Flag(
669-
name: .customLong("experimental-disable-default-traits"),
669+
name: .customLong("disable-default-traits"),
670670
help: "Disables all default traits of the package."
671671
)
672672
public var disableDefaultTraits: Bool = false

Sources/PackageDescription/BuildSettings.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ public struct BuildSettingCondition: Sendable {
8383
/// - platforms: The applicable platforms for this build setting condition.
8484
/// - configuration: The applicable build configuration for this build setting condition.
8585
/// - traits: The applicable traits for this build setting condition.
86-
@_spi(ExperimentalTraits)
87-
@available(_PackageDescription, introduced: 999.0)
86+
@available(_PackageDescription, introduced: 6.1)
8887
public static func when(
8988
platforms: [Platform]? = nil,
9089
configuration: BuildConfiguration? = nil,

Sources/PackageDescription/PackageDependency.swift

+12-25
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ extension Package {
5151
public let kind: Kind
5252

5353
/// The dependencies traits configuration.
54-
@_spi(ExperimentalTraits)
5554
@available(_PackageDescription, introduced: 999.0)
5655
public let traits: Set<Trait>
5756

@@ -224,8 +223,7 @@ extension Package.Dependency {
224223
/// - Parameter traits: The trait configuration of this dependency. Defaults to enabling the default traits.
225224
///
226225
/// - Returns: A package dependency.
227-
@_spi(ExperimentalTraits)
228-
@available(_PackageDescription, introduced: 999.0)
226+
@available(_PackageDescription, introduced: 6.1)
229227
public static func package(
230228
path: String,
231229
traits: Set<Trait> = [.defaults]
@@ -266,8 +264,7 @@ extension Package.Dependency {
266264
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
267265
///
268266
/// - Returns: A package dependency.
269-
@_spi(ExperimentalTraits)
270-
@available(_PackageDescription, introduced: 999.0)
267+
@available(_PackageDescription, introduced: 6.1)
271268
public static func package(
272269
name: String,
273270
path: String,
@@ -332,8 +329,7 @@ extension Package.Dependency {
332329
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
333330
///
334331
/// - Returns: A `Package.Dependency` instance.
335-
@_spi(ExperimentalTraits)
336-
@available(_PackageDescription, introduced: 999.0)
332+
@available(_PackageDescription, introduced: 6.1)
337333
public static func package(
338334
url: String,
339335
from version: Version,
@@ -408,8 +404,7 @@ extension Package.Dependency {
408404
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
409405
///
410406
/// - Returns: A `Package.Dependency` instance.
411-
@_spi(ExperimentalTraits)
412-
@available(_PackageDescription, introduced: 999.0)
407+
@available(_PackageDescription, introduced: 6.1)
413408
public static func package(
414409
url: String,
415410
branch: String,
@@ -470,8 +465,7 @@ extension Package.Dependency {
470465
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
471466
///
472467
/// - Returns: A `Package.Dependency` instance.
473-
@_spi(ExperimentalTraits)
474-
@available(_PackageDescription, introduced: 999.0)
468+
@available(_PackageDescription, introduced: 6.1)
475469
public static func package(
476470
url: String,
477471
revision: String,
@@ -541,8 +535,7 @@ extension Package.Dependency {
541535
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
542536
///
543537
/// - Returns: A `Package.Dependency` instance.
544-
@_spi(ExperimentalTraits)
545-
@available(_PackageDescription, introduced: 999.0)
538+
@available(_PackageDescription, introduced: 6.1)
546539
public static func package(
547540
url: String,
548541
_ range: Range<Version>,
@@ -616,8 +609,7 @@ extension Package.Dependency {
616609
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
617610
///
618611
/// - Returns: A `Package.Dependency` instance.
619-
@_spi(ExperimentalTraits)
620-
@available(_PackageDescription, introduced: 999.0)
612+
@available(_PackageDescription, introduced: 6.1)
621613
public static func package(
622614
url: String,
623615
_ range: ClosedRange<Version>,
@@ -779,8 +771,7 @@ extension Package.Dependency {
779771
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
780772
///
781773
/// - Returns: A `Package.Dependency` instance.
782-
@_spi(ExperimentalTraits)
783-
@available(_PackageDescription, introduced: 999.0)
774+
@available(_PackageDescription, introduced: 6.1)
784775
public static func package(
785776
url: String,
786777
exact version: Version,
@@ -900,8 +891,7 @@ extension Package.Dependency {
900891
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
901892
///
902893
/// - Returns: A `Package.Dependency` instance.
903-
@_spi(ExperimentalTraits)
904-
@available(_PackageDescription, introduced: 999.0)
894+
@available(_PackageDescription, introduced: 6.1)
905895
public static func package(
906896
id: String,
907897
from version: Version,
@@ -955,8 +945,7 @@ extension Package.Dependency {
955945
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
956946
///
957947
/// - Returns: A `Package.Dependency` instance.
958-
@_spi(ExperimentalTraits)
959-
@available(_PackageDescription, introduced: 999.0)
948+
@available(_PackageDescription, introduced: 6.1)
960949
public static func package(
961950
id: String,
962951
exact version: Version,
@@ -1032,8 +1021,7 @@ extension Package.Dependency {
10321021
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
10331022
///
10341023
/// - Returns: A `Package.Dependency` instance.
1035-
@_spi(ExperimentalTraits)
1036-
@available(_PackageDescription, introduced: 999.0)
1024+
@available(_PackageDescription, introduced: 6.1)
10371025
public static func package(
10381026
id: String,
10391027
_ range: Range<Version>,
@@ -1087,8 +1075,7 @@ extension Package.Dependency {
10871075
/// - traits: The trait configuration of this dependency. Defaults to enabling the default traits.
10881076
///
10891077
/// - Returns: A `Package.Dependency` instance.
1090-
@_spi(ExperimentalTraits)
1091-
@available(_PackageDescription, introduced: 999.0)
1078+
@available(_PackageDescription, introduced: 6.1)
10921079
public static func package(
10931080
id: String,
10941081
_ range: ClosedRange<Version>,

Sources/PackageDescription/PackageDependencyTrait.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212

1313
extension Package.Dependency {
1414
/// A struct representing an enabled trait of a dependency.
15-
@_spi(ExperimentalTraits)
16-
@available(_PackageDescription, introduced: 999.0)
15+
@available(_PackageDescription, introduced: 6.1)
1716
public struct Trait: Hashable, Sendable, ExpressibleByStringLiteral {
1817
/// Enables all default traits of a package.
1918
public static let defaults = Self.init(name: "default")

Sources/PackageDescription/PackageDescription.swift

+2-4
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,7 @@ public final class Package {
101101
public var products: [Product]
102102

103103
/// The set of traits of this package.
104-
@_spi(ExperimentalTraits)
105-
@available(_PackageDescription, introduced: 999.0)
104+
@available(_PackageDescription, introduced: 6.1)
106105
public var traits: Set<Trait>
107106

108107
/// The list of package dependencies.
@@ -352,8 +351,7 @@ public final class Package {
352351
/// - swiftLanguageModes: The list of Swift language modes with which this package is compatible.
353352
/// - cLanguageStandard: The C language standard to use for all C targets in this package.
354353
/// - cxxLanguageStandard: The C++ language standard to use for all C++ targets in this package.
355-
@_spi(ExperimentalTraits)
356-
@available(_PackageDescription, introduced: 999.0)
354+
@available(_PackageDescription, introduced: 6.1)
357355
public init(
358356
name: String,
359357
defaultLocalization: LanguageTag? = nil,

Sources/PackageDescription/Target.swift

+2-4
Original file line numberDiff line numberDiff line change
@@ -1393,8 +1393,7 @@ public struct TargetDependencyCondition: Sendable {
13931393
///
13941394
/// - Parameter platforms: The applicable platforms for this target dependency condition.
13951395
/// - Parameter traits: The applicable traits for this target dependency condition.
1396-
@_spi(ExperimentalTraits)
1397-
@available(_PackageDescription, introduced: 999.0)
1396+
@available(_PackageDescription, introduced: 6.1)
13981397
public static func when(
13991398
platforms: [Platform],
14001399
traits: Set<String>
@@ -1405,8 +1404,7 @@ public struct TargetDependencyCondition: Sendable {
14051404
/// Creates a target dependency condition.
14061405
///
14071406
/// - Parameter traits: The applicable traits for this target dependency condition.
1408-
@_spi(ExperimentalTraits)
1409-
@available(_PackageDescription, introduced: 999.0)
1407+
@available(_PackageDescription, introduced: 6.1)
14101408
public static func when(
14111409
traits: Set<String>
14121410
) -> TargetDependencyCondition? {

Sources/PackageDescription/Trait.swift

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
/// Traits can be used for expressing conditional compilation and optional dependencies.
1616
///
1717
/// - Important: Traits must be strictly additive and enabling a trait **must not** remove API.
18-
@_spi(ExperimentalTraits)
19-
@available(_PackageDescription, introduced: 999.0)
18+
@available(_PackageDescription, introduced: 6.1)
2019
public struct Trait: Hashable, ExpressibleByStringLiteral {
2120
/// Declares the default traits for this package.
2221
public static func `default`(enabledTraits: Set<String>) -> Self {

Sources/PackageModel/Manifest/Manifest.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ extension Manifest: Encodable {
524524
private enum CodingKeys: CodingKey {
525525
case name, path, url, version, targetMap, toolsVersion,
526526
pkgConfig, providers, cLanguageStandard, cxxLanguageStandard, swiftLanguageVersions,
527-
dependencies, products, targets, experimentalTraits, platforms, packageKind, revision,
527+
dependencies, products, targets, traits, platforms, packageKind, revision,
528528
defaultLocalization
529529
}
530530

@@ -555,7 +555,7 @@ extension Manifest: Encodable {
555555
try container.encode(self.dependencies, forKey: .dependencies)
556556
try container.encode(self.products, forKey: .products)
557557
try container.encode(self.targets, forKey: .targets)
558-
try container.encode(self.traits, forKey: .experimentalTraits)
558+
try container.encode(self.traits, forKey: .traits)
559559
try container.encode(self.platforms, forKey: .platforms)
560560
try container.encode(self.packageKind, forKey: .packageKind)
561561
}

0 commit comments

Comments
 (0)