Skip to content

Commit 1c68e6c

Browse files
authored
Add VisionOS platform support to PIF.PlatformFilter (#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
1 parent 812fa45 commit 1c68e6c

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
@@ -1583,6 +1583,9 @@ extension [PackageCondition] {
15831583
case .watchOS:
15841584
result += PIF.PlatformFilter.watchOSFilters
15851585

1586+
case .visionOS:
1587+
result += PIF.PlatformFilter.visionOSFilters
1588+
15861589
case .linux:
15871590
result += PIF.PlatformFilter.linuxFilters
15881591

@@ -1671,6 +1674,14 @@ extension PIF.PlatformFilter {
16711674
public static let webAssemblyFilters: [PIF.PlatformFilter] = [
16721675
.init(platform: "wasi"),
16731676
]
1677+
1678+
/// VisionOS platform filters.
1679+
public static let visionOSFilters: [PIF.PlatformFilter] = [
1680+
.init(platform: "xros"),
1681+
.init(platform: "xros", environment: "simulator"),
1682+
.init(platform: "visionos"),
1683+
.init(platform: "visionos", environment: "simulator")
1684+
]
16741685
}
16751686

16761687
private extension PIF.BuildSettings {

0 commit comments

Comments
 (0)