Skip to content

Commit ea779ee

Browse files
Ryu0118bnbarham
authored andcommitted
Add VisionOS platform support to PIF.PlatformFilter (swiftlang#7448)
#### Motivation: In the process of generating PIF, I identified a missing case for VisionOS in the implementation of the `[PackageConditionProtocol].toPlatformFilters()`, which led to assertionFailure when Package's platforms included VisionOS. #### Modifications: - Added a new case `.visionOS` in the switch statement within the `toPlatformFilters()` extension for `[PackageCondition]`. - Added a new static property `visionOSFilters` within `PIF.PlatformFilter` to define filters specific to VisionOS. #### Result: With these changes, PIFBuilder can now generate PIF without errors for packages that include VisionOS as a target (cherry picked from commit 1c68e6c)
1 parent 14fc141 commit ea779ee

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

Sources/XCBuildSupport/PIFBuilder.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1710,6 +1710,9 @@ extension [PackageCondition] {
17101710
case .watchOS:
17111711
result += PIF.PlatformFilter.watchOSFilters
17121712

1713+
case .visionOS:
1714+
result += PIF.PlatformFilter.visionOSFilters
1715+
17131716
case .linux:
17141717
result += PIF.PlatformFilter.linuxFilters
17151718

@@ -1794,6 +1797,14 @@ extension PIF.PlatformFilter {
17941797
public static let webAssemblyFilters: [PIF.PlatformFilter] = [
17951798
.init(platform: "wasi"),
17961799
]
1800+
1801+
/// VisionOS platform filters.
1802+
public static let visionOSFilters: [PIF.PlatformFilter] = [
1803+
.init(platform: "xros"),
1804+
.init(platform: "xros", environment: "simulator"),
1805+
.init(platform: "visionos"),
1806+
.init(platform: "visionos", environment: "simulator")
1807+
]
17971808
}
17981809

17991810
extension PIF.BuildSettings {

0 commit comments

Comments
 (0)