From 9aba39ac7bef5a7997040f7c0f014d892f1dd568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Pi=C3=B1era?= Date: Sat, 4 Oct 2025 13:35:45 +0200 Subject: [PATCH] feat: add support for defaultIsolation setting in PackageInfo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit adds support for the defaultIsolation Swift Package Manager setting introduced in PackageDescription 6.2. The defaultIsolation setting allows packages to specify actor isolation requirements for their targets. Changes: - Added defaultIsolation case to SettingName enum - Added defaultIsolation case to Kind enum for Xcode 14 format - Updated init(from:) to decode defaultIsolation settings - Updated encode(to:) to encode defaultIsolation settings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- Sources/XcodeGraph/PackageInfo.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Sources/XcodeGraph/PackageInfo.swift b/Sources/XcodeGraph/PackageInfo.swift index 349ce484..7be49ca1 100644 --- a/Sources/XcodeGraph/PackageInfo.swift +++ b/Sources/XcodeGraph/PackageInfo.swift @@ -449,6 +449,7 @@ extension PackageInfo.Target { case enableUpcomingFeature case enableExperimentalFeature case interoperabilityMode + case defaultIsolation } /// An individual build setting. @@ -499,6 +500,7 @@ extension PackageInfo.Target { case enableUpcomingFeature(String) case enableExperimentalFeature(String) case interoperabilityMode(String) + case defaultIsolation(String) } public init(from decoder: Decoder) throws { @@ -535,6 +537,9 @@ extension PackageInfo.Target { case let .swiftLanguageMode(value): name = .swiftLanguageMode self.value = [value] + case let .defaultIsolation(value): + name = .defaultIsolation + self.value = [value] } } else { name = try container.decode(SettingName.self, forKey: .name) @@ -566,6 +571,8 @@ extension PackageInfo.Target { try container.encode(Kind.enableExperimentalFeature(value.first!), forKey: .kind) case .swiftLanguageMode: try container.encode(Kind.swiftLanguageMode(value.first!), forKey: .kind) + case .defaultIsolation: + try container.encode(Kind.defaultIsolation(value.first!), forKey: .kind) } } }