Skip to content

Commit 1b73236

Browse files
committed
fix availability macro invocation
1 parent 6097559 commit 1b73236

File tree

2 files changed

+28
-11
lines changed

2 files changed

+28
-11
lines changed

Package.swift

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,23 @@ struct Available {
3131
var swiftSetting: SwiftSetting {
3232
#if SYSTEM_ABI_STABLE
3333
// Use availability matching Darwin API.
34-
let availability = self.osAvailability
34+
let availabilityType = self.osAvailability
3535
#else
3636
// Use availability matching SwiftPM default.
37-
let availability = self.sourceAvailability
37+
let availabilityType = self.sourceAvailability
3838
#endif
3939
return .enableExperimentalFeature(
40-
"AvailabilityMacro=\(self.name) \(version):\(availability)")
40+
"AvailabilityMacro=\(self.name) \(version):\(availabilityType)")
41+
}
42+
43+
var compatibilitySetting: SwiftSetting {
44+
.enableExperimentalFeature(
45+
"AvailabilityMacro=\(self.name) \(version):\(osAvailability)"
46+
)
4147
}
4248
}
4349

44-
let availability: [Available] = [
50+
let availabilityList: [Available] = [
4551
Available("0.0.1", "macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0"),
4652

4753
Available("0.0.2", "macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0"),
@@ -68,7 +74,7 @@ let availability: [Available] = [
6874
Available("99", "macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, visionOS 9999"),
6975
]
7076

71-
let swiftSettingsAvailability = availability.map(\.swiftSetting)
77+
let availabilitySettings = availabilityList.map(\.swiftSetting)
7278

7379
#if SYSTEM_CI
7480
let swiftSettingsCI: [SwiftSetting] = [
@@ -78,7 +84,7 @@ let swiftSettingsCI: [SwiftSetting] = [
7884
let swiftSettingsCI: [SwiftSetting] = []
7985
#endif
8086

81-
let swiftSettings = swiftSettingsAvailability + swiftSettingsCI + [
87+
let sharedSwiftSettings = swiftSettingsCI + [
8288
.define(
8389
"SYSTEM_PACKAGE_DARWIN",
8490
.when(platforms: [.macOS, .macCatalyst, .iOS, .watchOS, .tvOS, .visionOS])),
@@ -87,6 +93,8 @@ let swiftSettings = swiftSettingsAvailability + swiftSettingsCI + [
8793
.enableExperimentalFeature("Lifetimes"),
8894
]
8995

96+
let swiftSettings = sharedSwiftSettings + availabilitySettings
97+
9098
let cSettings: [CSetting] = [
9199
.define("_CRT_SECURE_NO_WARNINGS", .when(platforms: [.windows])),
92100
]
@@ -141,7 +149,8 @@ let package = Package(
141149
path: "Sources/SystemCompatibilityAdaptors",
142150
exclude: [],
143151
cSettings: cSettings,
144-
swiftSettings: swiftSettings
152+
swiftSettings:
153+
sharedSwiftSettings + availabilityList.map(\.compatibilitySetting)
145154
),
146155
.testTarget(
147156
name: "SystemTests",
@@ -154,7 +163,8 @@ let package = Package(
154163
dependencies: ["SystemCompatibilityAdaptors", "SystemPackage"],
155164
exclude: [],
156165
cSettings: cSettings,
157-
swiftSettings: swiftSettings
166+
swiftSettings:
167+
sharedSwiftSettings + availabilityList.map(\.compatibilitySetting)
158168
),
159169
],
160170
swiftLanguageVersions: [.v5]

Sources/SystemCompatibilityAdaptors/CompatibilityAdaptors.swift

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,31 @@
1+
/*
2+
This source file is part of the Swift System open source project
3+
4+
Copyright (c) 2025 - 2026 Apple Inc. and the Swift System project authors
5+
Licensed under Apache License v2.0 with Runtime Library Exception
6+
7+
See https://swift.org/LICENSE.txt for license information
8+
*/
9+
110
#if canImport(System) && canImport(SystemPackage)
211
import System
312
import SystemPackage
413

5-
@available(System 0.0.2, *)
614
extension SystemPackage.FilePath {
715
@available(System 0.0.2, *)
816
public init(converting path: System.FilePath) {
917
self = path.withPlatformString(Self.init(platformString:))
1018
}
1119
}
1220

13-
@available(System 0.0.2, *)
21+
@available(System 0.0.1, *)
1422
extension System.FilePath {
1523
@available(System 0.0.2, *)
1624
public init(converting path: SystemPackage.FilePath) {
1725
self = path.withPlatformString(Self.init(platformString:))
1826
}
1927
}
2028

21-
@available(System 0.0.1, *)
2229
extension SystemPackage.FileDescriptor {
2330
@available(System 0.0.1, *)
2431
public init(converting descriptor: System.FileDescriptor) {

0 commit comments

Comments
 (0)