Skip to content

Commit 73769de

Browse files
committed
Add Swift language version 6 to Swift{Language}Version structs
1 parent 7d47669 commit 73769de

File tree

6 files changed

+13
-2
lines changed

6 files changed

+13
-2
lines changed

Sources/PackageDescription/LanguageStandardSettings.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,10 @@ public enum SwiftVersion {
167167
@available(_PackageDescription, introduced: 5)
168168
case v5
169169

170+
/// The identifier for the Swift 6 language version.
171+
@available(_PackageDescription, introduced: 6)
172+
case v6
173+
170174
/// A user-defined value for the Swift version.
171175
///
172176
/// The value is passed as-is to the Swift compiler's `-swift-version` flag.
@@ -180,6 +184,7 @@ extension SwiftVersion: CustomStringConvertible {
180184
case .v4: "4"
181185
case .v4_2: "4.2"
182186
case .v5: "5"
187+
case .v6: "6"
183188
case .version(let version): version
184189
}
185190
}

Sources/PackageDescription/PackageDescriptionSerialization.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ enum Serialization {
9999
case v4
100100
case v4_2
101101
case v5
102+
case v6
102103
case version(String)
103104
}
104105

Sources/PackageDescription/PackageDescriptionSerializationConversion.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ extension Serialization.SwiftVersion {
112112
case .v4: self = .v4
113113
case .v4_2: self = .v4_2
114114
case .v5: self = .v5
115+
case .v6: self = .v6
115116
case .version(let version): self = .version(version)
116117
}
117118
}

Sources/PackageLoading/ManifestJSONParser.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ enum ManifestJSONParser {
150150
case .v4: languageVersionString = "4"
151151
case .v4_2: languageVersionString = "4.2"
152152
case .v5: languageVersionString = "5"
153+
case .v6: languageVersionString = "6"
153154
case .version(let version): languageVersionString = version
154155
}
155156
guard let languageVersion = SwiftLanguageVersion(string: languageVersionString) else {

Sources/PackageModel/SwiftLanguageVersion.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,12 @@ public struct SwiftLanguageVersion: Hashable, Sendable {
3131
/// Swift language version 5.
3232
public static let v5 = SwiftLanguageVersion(uncheckedString: "5")
3333

34+
/// Swift language version 6.
35+
public static let v6 = SwiftLanguageVersion(uncheckedString: "6")
36+
3437
/// The list of known Swift language versions.
3538
public static let knownSwiftLanguageVersions = [
36-
v3, v4, v4_2, v5,
39+
v3, v4, v4_2, v5, v6
3740
]
3841

3942
/// The raw value of the language version.

Tests/WorkspaceTests/ManifestSourceGenerationTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ class ManifestSourceGenerationTests: XCTestCase {
601601
name: "v5",
602602
type: .executable,
603603
settings: [
604-
.init(tool: .swift, kind: .swiftLanguageVersion(.v5))
604+
.init(tool: .swift, kind: .swiftLanguageVersion(.v6))
605605
]
606606
),
607607
try TargetDescription(

0 commit comments

Comments
 (0)