Skip to content

Commit 7f81b2e

Browse files
authored
Merge pull request #898 from apple/mracek/format-sdk-version-as-two-or-three-components
Format SDK versions in -target-sdk-version as major.minor when patch number is zero
2 parents 671e615 + c5a9d02 commit 7f81b2e

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

Sources/SwiftDriver/Toolchains/DarwinToolchain.swift

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,11 +346,11 @@ public final class DarwinToolchain: Toolchain {
346346
let sdkInfo = getTargetSDKInfo(sdkPath: sdkPath) else { return }
347347

348348
commandLine.append(.flag("-target-sdk-version"))
349-
commandLine.append(.flag(sdkInfo.sdkVersion(for: frontendTargetInfo.target.triple).description))
349+
commandLine.append(.flag(sdkInfo.sdkVersion(for: frontendTargetInfo.target.triple).sdkVersionString))
350350

351351
if let targetVariantTriple = frontendTargetInfo.targetVariant?.triple {
352352
commandLine.append(.flag("-target-variant-sdk-version"))
353-
commandLine.append(.flag(sdkInfo.sdkVersion(for: targetVariantTriple).description))
353+
commandLine.append(.flag(sdkInfo.sdkVersion(for: targetVariantTriple).sdkVersionString))
354354
}
355355

356356
if driver.isFrontendArgSupported(.targetSdkName) &&
@@ -382,3 +382,12 @@ extension Diagnostic.Message {
382382
)
383383
}
384384
}
385+
386+
private extension Version {
387+
var sdkVersionString: String {
388+
if patch == 0 && prereleaseIdentifiers.isEmpty && buildMetadataIdentifiers.isEmpty {
389+
return "\(major).\(minor)"
390+
}
391+
return self.description
392+
}
393+
}

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3268,7 +3268,7 @@ final class SwiftDriverTests: XCTestCase {
32683268
XCTAssertEqual(frontendJobs[0].kind, .compile)
32693269
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
32703270
.flag("-target-sdk-version"),
3271-
.flag("10.15.0")
3271+
.flag("10.15")
32723272
]))
32733273
if driver.isFrontendArgSupported(.targetSdkName) {
32743274
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
@@ -3295,9 +3295,9 @@ final class SwiftDriverTests: XCTestCase {
32953295
XCTAssertEqual(frontendJobs[0].kind, .compile)
32963296
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
32973297
.flag("-target-sdk-version"),
3298-
.flag("10.15.0"),
3298+
.flag("10.15"),
32993299
.flag("-target-variant-sdk-version"),
3300-
.flag("13.1.0"),
3300+
.flag("13.1"),
33013301
]))
33023302
XCTAssertEqual(frontendJobs[1].kind, .link)
33033303
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [
@@ -3324,7 +3324,7 @@ final class SwiftDriverTests: XCTestCase {
33243324
.flag("-target-sdk-version"),
33253325
.flag("10.15.4"),
33263326
.flag("-target-variant-sdk-version"),
3327-
.flag("13.4.0")
3327+
.flag("13.4")
33283328
]))
33293329
if driver.isFrontendArgSupported(.targetSdkName) {
33303330
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
@@ -3355,7 +3355,7 @@ final class SwiftDriverTests: XCTestCase {
33553355
XCTAssertEqual(frontendJobs[0].kind, .compile)
33563356
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
33573357
.flag("-target-sdk-version"),
3358-
.flag("13.4.0"),
3358+
.flag("13.4"),
33593359
.flag("-target-variant-sdk-version"),
33603360
.flag("10.15.4")
33613361
]))

0 commit comments

Comments
 (0)