From 5cf5fa35cc33ceb157fd1ffbc12032c20fcf6987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Pi=C3=B1era?= Date: Thu, 30 Oct 2025 19:28:44 +0100 Subject: [PATCH] feat: Add support for disableWarning CSetting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add support for SwiftPM's disableWarning CSetting in PackageInfo. This allows packages to disable specific compiler warnings. - Add disableWarning case to SettingName enum - Add disableWarning case to Kind enum for Xcode 14+ format - Add encoding/decoding support for disableWarning setting 🤖 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 fe1f752e..d65460d7 100644 --- a/Sources/XcodeGraph/PackageInfo.swift +++ b/Sources/XcodeGraph/PackageInfo.swift @@ -456,6 +456,7 @@ extension PackageInfo.Target { case interoperabilityMode case defaultIsolation case strictMemorySafety + case disableWarning } /// An individual build setting. @@ -508,6 +509,7 @@ extension PackageInfo.Target { case interoperabilityMode(String) case defaultIsolation(String) case strictMemorySafety(String) + case disableWarning(String) } enum SettingDecodingError: LocalizedError { @@ -569,6 +571,9 @@ extension PackageInfo.Target { case let .strictMemorySafety(value): name = .strictMemorySafety self.value = [value] + case let .disableWarning(value): + name = .disableWarning + self.value = [value] } } else { // Legacy format - try to decode name @@ -615,6 +620,8 @@ extension PackageInfo.Target { try container.encode(Kind.defaultIsolation(value.first!), forKey: .kind) case .strictMemorySafety: try container.encode(Kind.strictMemorySafety(value.first!), forKey: .kind) + case .disableWarning: + try container.encode(Kind.disableWarning(value.first!), forKey: .kind) } } }