From 7d2ddd835930a7a59bf3d83cbea9a06de3c6d79a Mon Sep 17 00:00:00 2001 From: Franz Busch Date: Tue, 17 Dec 2024 23:56:42 +0100 Subject: [PATCH] [Traits] Remove experimental and SPI guards # Motivation Traits got oficially accepted https://forums.swift.org/t/accepted-with-modifications-se-0450-package-traits/76705 so we can remove the the SPI and experimental guards now. # Modification This PR removes the SPI for traits, makes the availability 6.1, and removes the experimental prefix from all the arguments. # Result Traits are becoming an official feature. --- Fixtures/Traits/Example/Package.swift | 4 +- Fixtures/Traits/Package1/Package.swift | 4 +- Fixtures/Traits/Package10/Package.swift | 4 +- Fixtures/Traits/Package2/Package.swift | 4 +- Fixtures/Traits/Package3/Package.swift | 4 +- Fixtures/Traits/Package4/Package.swift | 4 +- Fixtures/Traits/Package5/Package.swift | 4 +- Fixtures/Traits/Package6/Package.swift | 4 +- Fixtures/Traits/Package7/Package.swift | 4 +- Fixtures/Traits/Package8/Package.swift | 4 +- Fixtures/Traits/Package9/Package.swift | 4 +- Sources/CoreCommands/Options.swift | 6 +-- .../PackageDescription/BuildSettings.swift | 3 +- .../PackageDependency.swift | 37 ++++++------------- .../PackageDependencyTrait.swift | 3 +- .../PackageDescription.swift | 6 +-- Sources/PackageDescription/Target.swift | 6 +-- Sources/PackageDescription/Trait.swift | 3 +- Sources/PackageModel/Manifest/Manifest.swift | 4 +- Tests/FunctionalTests/TraitTests.swift | 18 ++++----- .../TraitLoadingTests.swift | 14 +++---- 21 files changed, 62 insertions(+), 82 deletions(-) diff --git a/Fixtures/Traits/Example/Package.swift b/Fixtures/Traits/Example/Package.swift index c316c111d7b..6eaf1479afa 100644 --- a/Fixtures/Traits/Example/Package.swift +++ b/Fixtures/Traits/Example/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "TraitsExample", diff --git a/Fixtures/Traits/Package1/Package.swift b/Fixtures/Traits/Package1/Package.swift index 500ef1c273e..f90fcdc72e5 100644 --- a/Fixtures/Traits/Package1/Package.swift +++ b/Fixtures/Traits/Package1/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package1", diff --git a/Fixtures/Traits/Package10/Package.swift b/Fixtures/Traits/Package10/Package.swift index 188c95402e1..4236e806cff 100644 --- a/Fixtures/Traits/Package10/Package.swift +++ b/Fixtures/Traits/Package10/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package10", diff --git a/Fixtures/Traits/Package2/Package.swift b/Fixtures/Traits/Package2/Package.swift index 33bda8a6db3..a1db5968571 100644 --- a/Fixtures/Traits/Package2/Package.swift +++ b/Fixtures/Traits/Package2/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package2", diff --git a/Fixtures/Traits/Package3/Package.swift b/Fixtures/Traits/Package3/Package.swift index 7d1a51d2c15..dee1273e9a6 100644 --- a/Fixtures/Traits/Package3/Package.swift +++ b/Fixtures/Traits/Package3/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package3", diff --git a/Fixtures/Traits/Package4/Package.swift b/Fixtures/Traits/Package4/Package.swift index 072356a1dee..55f86d5ded4 100644 --- a/Fixtures/Traits/Package4/Package.swift +++ b/Fixtures/Traits/Package4/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package4", diff --git a/Fixtures/Traits/Package5/Package.swift b/Fixtures/Traits/Package5/Package.swift index e2612ee4c94..35e34074ef8 100644 --- a/Fixtures/Traits/Package5/Package.swift +++ b/Fixtures/Traits/Package5/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package5", diff --git a/Fixtures/Traits/Package6/Package.swift b/Fixtures/Traits/Package6/Package.swift index b73ed6961bd..0d677d9ccf4 100644 --- a/Fixtures/Traits/Package6/Package.swift +++ b/Fixtures/Traits/Package6/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package6", diff --git a/Fixtures/Traits/Package7/Package.swift b/Fixtures/Traits/Package7/Package.swift index 6f3995c36f0..210aa90b91b 100644 --- a/Fixtures/Traits/Package7/Package.swift +++ b/Fixtures/Traits/Package7/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package7", diff --git a/Fixtures/Traits/Package8/Package.swift b/Fixtures/Traits/Package8/Package.swift index ffd295c3975..6731b7ed4a7 100644 --- a/Fixtures/Traits/Package8/Package.swift +++ b/Fixtures/Traits/Package8/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package8", diff --git a/Fixtures/Traits/Package9/Package.swift b/Fixtures/Traits/Package9/Package.swift index 4735ddc3aaa..2bb1516fef0 100644 --- a/Fixtures/Traits/Package9/Package.swift +++ b/Fixtures/Traits/Package9/Package.swift @@ -1,6 +1,6 @@ -// swift-tools-version: 999.0.0 +// swift-tools-version: 6.1 -@_spi(ExperimentalTraits) import PackageDescription +import PackageDescription let package = Package( name: "Package9", diff --git a/Sources/CoreCommands/Options.swift b/Sources/CoreCommands/Options.swift index 0cdc6042c24..bcb33eb756c 100644 --- a/Sources/CoreCommands/Options.swift +++ b/Sources/CoreCommands/Options.swift @@ -647,7 +647,7 @@ package struct TraitOptions: ParsableArguments { /// The traits to enable for the package. @Option( - name: .customLong("experimental-traits"), + name: .customLong("traits"), 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." ) package var _enabledTraits: String? @@ -659,14 +659,14 @@ package struct TraitOptions: ParsableArguments { /// Enables all traits of the package. @Flag( - name: .customLong("experimental-enable-all-traits"), + name: .customLong("enable-all-traits"), help: "Enables all traits of the package." ) package var enableAllTraits: Bool = false /// Disables all default traits of the package. @Flag( - name: .customLong("experimental-disable-default-traits"), + name: .customLong("disable-default-traits"), help: "Disables all default traits of the package." ) public var disableDefaultTraits: Bool = false diff --git a/Sources/PackageDescription/BuildSettings.swift b/Sources/PackageDescription/BuildSettings.swift index ff30ee4ce2d..070900cc8b3 100644 --- a/Sources/PackageDescription/BuildSettings.swift +++ b/Sources/PackageDescription/BuildSettings.swift @@ -83,8 +83,7 @@ public struct BuildSettingCondition: Sendable { /// - platforms: The applicable platforms for this build setting condition. /// - configuration: The applicable build configuration for this build setting condition. /// - traits: The applicable traits for this build setting condition. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func when( platforms: [Platform]? = nil, configuration: BuildConfiguration? = nil, diff --git a/Sources/PackageDescription/PackageDependency.swift b/Sources/PackageDescription/PackageDependency.swift index e9e6f8cabcb..60dbe1f426d 100644 --- a/Sources/PackageDescription/PackageDependency.swift +++ b/Sources/PackageDescription/PackageDependency.swift @@ -51,7 +51,6 @@ extension Package { public let kind: Kind /// The dependencies traits configuration. - @_spi(ExperimentalTraits) @available(_PackageDescription, introduced: 999.0) public let traits: Set @@ -224,8 +223,7 @@ extension Package.Dependency { /// - Parameter traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A package dependency. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( path: String, traits: Set = [.defaults] @@ -266,8 +264,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A package dependency. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( name: String, path: String, @@ -332,8 +329,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( url: String, from version: Version, @@ -408,8 +404,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( url: String, branch: String, @@ -470,8 +465,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( url: String, revision: String, @@ -541,8 +535,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( url: String, _ range: Range, @@ -616,8 +609,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( url: String, _ range: ClosedRange, @@ -779,8 +771,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( url: String, exact version: Version, @@ -900,8 +891,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( id: String, from version: Version, @@ -955,8 +945,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( id: String, exact version: Version, @@ -1032,8 +1021,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( id: String, _ range: Range, @@ -1087,8 +1075,7 @@ extension Package.Dependency { /// - traits: The trait configuration of this dependency. Defaults to enabling the default traits. /// /// - Returns: A `Package.Dependency` instance. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func package( id: String, _ range: ClosedRange, diff --git a/Sources/PackageDescription/PackageDependencyTrait.swift b/Sources/PackageDescription/PackageDependencyTrait.swift index 7fd4e9c2e8c..a35d3eefd26 100644 --- a/Sources/PackageDescription/PackageDependencyTrait.swift +++ b/Sources/PackageDescription/PackageDependencyTrait.swift @@ -12,8 +12,7 @@ extension Package.Dependency { /// A struct representing an enabled trait of a dependency. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public struct Trait: Hashable, Sendable, ExpressibleByStringLiteral { /// Enables all default traits of a package. public static let defaults = Self.init(name: "default") diff --git a/Sources/PackageDescription/PackageDescription.swift b/Sources/PackageDescription/PackageDescription.swift index 04012480633..261fca0cc81 100644 --- a/Sources/PackageDescription/PackageDescription.swift +++ b/Sources/PackageDescription/PackageDescription.swift @@ -101,8 +101,7 @@ public final class Package { public var products: [Product] /// The set of traits of this package. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public var traits: Set /// The list of package dependencies. @@ -352,8 +351,7 @@ public final class Package { /// - swiftLanguageModes: The list of Swift language modes with which this package is compatible. /// - cLanguageStandard: The C language standard to use for all C targets in this package. /// - cxxLanguageStandard: The C++ language standard to use for all C++ targets in this package. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public init( name: String, defaultLocalization: LanguageTag? = nil, diff --git a/Sources/PackageDescription/Target.swift b/Sources/PackageDescription/Target.swift index 93f9dcf1c48..cca6fde7b04 100644 --- a/Sources/PackageDescription/Target.swift +++ b/Sources/PackageDescription/Target.swift @@ -1393,8 +1393,7 @@ public struct TargetDependencyCondition: Sendable { /// /// - Parameter platforms: The applicable platforms for this target dependency condition. /// - Parameter traits: The applicable traits for this target dependency condition. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func when( platforms: [Platform], traits: Set @@ -1405,8 +1404,7 @@ public struct TargetDependencyCondition: Sendable { /// Creates a target dependency condition. /// /// - Parameter traits: The applicable traits for this target dependency condition. - @_spi(ExperimentalTraits) - @available(_PackageDescription, introduced: 999.0) + @available(_PackageDescription, introduced: 6.1) public static func when( traits: Set ) -> TargetDependencyCondition? { diff --git a/Sources/PackageDescription/Trait.swift b/Sources/PackageDescription/Trait.swift index 727842c17bd..449e0eaeaad 100644 --- a/Sources/PackageDescription/Trait.swift +++ b/Sources/PackageDescription/Trait.swift @@ -15,8 +15,7 @@ /// Traits can be used for expressing conditional compilation and optional dependencies. /// /// - Important: Traits must be strictly additive and enabling a trait **must not** remove API. -@_spi(ExperimentalTraits) -@available(_PackageDescription, introduced: 999.0) +@available(_PackageDescription, introduced: 6.1) public struct Trait: Hashable, ExpressibleByStringLiteral { /// Declares the default traits for this package. public static func `default`(enabledTraits: Set) -> Self { diff --git a/Sources/PackageModel/Manifest/Manifest.swift b/Sources/PackageModel/Manifest/Manifest.swift index ab1acdc886f..e8d7098159a 100644 --- a/Sources/PackageModel/Manifest/Manifest.swift +++ b/Sources/PackageModel/Manifest/Manifest.swift @@ -524,7 +524,7 @@ extension Manifest: Encodable { private enum CodingKeys: CodingKey { case name, path, url, version, targetMap, toolsVersion, pkgConfig, providers, cLanguageStandard, cxxLanguageStandard, swiftLanguageVersions, - dependencies, products, targets, experimentalTraits, platforms, packageKind, revision, + dependencies, products, targets, traits, platforms, packageKind, revision, defaultLocalization } @@ -555,7 +555,7 @@ extension Manifest: Encodable { try container.encode(self.dependencies, forKey: .dependencies) try container.encode(self.products, forKey: .products) try container.encode(self.targets, forKey: .targets) - try container.encode(self.traits, forKey: .experimentalTraits) + try container.encode(self.traits, forKey: .traits) try container.encode(self.platforms, forKey: .platforms) try container.encode(self.packageKind, forKey: .packageKind) } diff --git a/Tests/FunctionalTests/TraitTests.swift b/Tests/FunctionalTests/TraitTests.swift index 81619419bec..e1164eea6e1 100644 --- a/Tests/FunctionalTests/TraitTests.swift +++ b/Tests/FunctionalTests/TraitTests.swift @@ -38,7 +38,7 @@ final class TraitTests: XCTestCase { func testTraits_whenTraitUnification() async throws { try await fixture(name: "Traits") { fixturePath in - let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--experimental-traits", "default,Package9,Package10"]) + let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--traits", "default,Package9,Package10"]) // We expect no warnings to be produced. Specifically no unused dependency warnings. // When fixed, GitHub issue #8131 should re-enable the below assert. // XCTAssertFalse(stderr.contains("warning:")) @@ -61,7 +61,7 @@ final class TraitTests: XCTestCase { func testTraits_whenTraitUnification_whenSecondTraitNotEnabled() async throws { try await fixture(name: "Traits") { fixturePath in - let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--experimental-traits", "default,Package9"]) + let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--traits", "default,Package9"]) // We expect no warnings to be produced. Specifically no unused dependency warnings. // When fixed, GitHub issue #8131 should re-enable the below assert. // XCTAssertFalse(stderr.contains("warning:")) @@ -82,7 +82,7 @@ final class TraitTests: XCTestCase { func testTraits_whenIndividualTraitsEnabled_andDefaultTraits() async throws { try await fixture(name: "Traits") { fixturePath in - let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--experimental-traits", "default,Package5,Package7,BuildCondition3"]) + let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--traits", "default,Package5,Package7,BuildCondition3"]) // We expect no warnings to be produced. Specifically no unused dependency warnings. // When fixed, GitHub issue #8131 should re-enable the below assert. // XCTAssertFalse(stderr.contains("warning:")) @@ -104,7 +104,7 @@ final class TraitTests: XCTestCase { func testTraits_whenDefaultTraitsDisabled() async throws { try await fixture(name: "Traits") { fixturePath in - let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--experimental-disable-default-traits"]) + let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--disable-default-traits"]) // We expect no warnings to be produced. Specifically no unused dependency warnings. // When fixed, GitHub issue #8131 should re-enable the below assert. // XCTAssertFalse(stderr.contains("warning:")) @@ -119,7 +119,7 @@ final class TraitTests: XCTestCase { func testTraits_whenIndividualTraitsEnabled_andDefaultTraitsDisabled() async throws { try await fixture(name: "Traits") { fixturePath in - let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--experimental-traits", "Package5,Package7"]) + let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--traits", "Package5,Package7"]) // We expect no warnings to be produced. Specifically no unused dependency warnings. // When fixed, GitHub issue #8131 should re-enable the below assert. // XCTAssertFalse(stderr.contains("warning:")) @@ -137,7 +137,7 @@ final class TraitTests: XCTestCase { func testTraits_whenAllTraitsEnabled() async throws { try await fixture(name: "Traits") { fixturePath in - let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--experimental-enable-all-traits"]) + let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--enable-all-traits"]) // We expect no warnings to be produced. Specifically no unused dependency warnings. // GitHub issue #8131 // XCTAssertFalse(stderr.contains("warning:")) @@ -163,7 +163,7 @@ final class TraitTests: XCTestCase { func testTraits_whenAllTraitsEnabled_andDefaultTraitsDisabled() async throws { try await fixture(name: "Traits") { fixturePath in - let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--experimental-enable-all-traits", "--experimental-disable-default-traits"]) + let (stdout, stderr) = try await executeSwiftRun(fixturePath.appending("Example"), "Example", extraArgs: ["--enable-all-traits", "--disable-default-traits"]) // We expect no warnings to be produced. Specifically no unused dependency warnings. // GitHub issue #8131 // XCTAssertFalse(stderr.contains("warning:")) @@ -193,7 +193,7 @@ final class TraitTests: XCTestCase { let (dumpOutput, _) = try await SwiftPM.Package.execute(["dump-package"], packagePath: packageRoot) let json = try JSON(bytes: ByteString(encodingAsUTF8: dumpOutput)) guard case let .dictionary(contents) = json else { XCTFail("unexpected result"); return } - guard case let .array(traits)? = contents["experimentalTraits"] else { XCTFail("unexpected result"); return } + guard case let .array(traits)? = contents["traits"] else { XCTFail("unexpected result"); return } XCTAssertEqual(traits.count, 12) } } @@ -217,7 +217,7 @@ final class TraitTests: XCTestCase { func testTests_whenAllTraitsEnabled_andDefaultTraitsDisabled() async throws { try await fixture(name: "Traits") { fixturePath in - let (stdout, _) = try await executeSwiftTest(fixturePath.appending("Example"), extraArgs: ["--experimental-enable-all-traits", "--experimental-disable-default-traits"]) + let (stdout, _) = try await executeSwiftTest(fixturePath.appending("Example"), extraArgs: ["--enable-all-traits", "--disable-default-traits"]) let expectedOut = """ Package1Library1 trait1 enabled Package2Library1 trait2 enabled diff --git a/Tests/PackageLoadingTests/TraitLoadingTests.swift b/Tests/PackageLoadingTests/TraitLoadingTests.swift index 8da38030bbd..d6f48717509 100644 --- a/Tests/PackageLoadingTests/TraitLoadingTests.swift +++ b/Tests/PackageLoadingTests/TraitLoadingTests.swift @@ -24,7 +24,7 @@ final class TraitLoadingTests: PackageDescriptionLoadingTests { func testTraits() async throws { let content = """ - @_spi(ExperimentalTraits) import PackageDescription + import PackageDescription let package = Package( name: "Foo", traits: [ @@ -50,7 +50,7 @@ final class TraitLoadingTests: PackageDescriptionLoadingTests { func testTraits_whenTooMany() async throws { let traits = Array(0...300).map { "\"Trait\($0)\"" }.joined(separator: ",") let content = """ - @_spi(ExperimentalTraits) import PackageDescription + import PackageDescription let package = Package( name: "Foo", traits: [\(traits)] @@ -67,7 +67,7 @@ final class TraitLoadingTests: PackageDescriptionLoadingTests { func testTraits_whenUnknownEnabledTrait() async throws { let content = """ - @_spi(ExperimentalTraits) import PackageDescription + import PackageDescription let package = Package( name: "Foo", traits: [ @@ -99,7 +99,7 @@ final class TraitLoadingTests: PackageDescriptionLoadingTests { for traitName in invalidTraitNames { let content = """ - @_spi(ExperimentalTraits) import PackageDescription + import PackageDescription let package = Package( name: "Foo", traits: [ @@ -132,7 +132,7 @@ final class TraitLoadingTests: PackageDescriptionLoadingTests { for traitName in invalidTraitNames { let content = """ - @_spi(ExperimentalTraits) import PackageDescription + import PackageDescription let package = Package( name: "Foo", traits: [ @@ -151,7 +151,7 @@ final class TraitLoadingTests: PackageDescriptionLoadingTests { func testDefaultTraits() async throws { let content = """ - @_spi(ExperimentalTraits) import PackageDescription + import PackageDescription let package = Package( name: "Foo", traits: [ @@ -178,7 +178,7 @@ final class TraitLoadingTests: PackageDescriptionLoadingTests { func testDependencies() async throws { let content = """ - @_spi(ExperimentalTraits) import PackageDescription + import PackageDescription let package = Package( name: "Foo", traits: [