From d285bacb56801ef5ef751c30939397a28b724f79 Mon Sep 17 00:00:00 2001 From: Derek Clarkson Date: Mon, 23 Mar 2026 16:13:46 +1100 Subject: [PATCH] Remove unnecessary Defaults dependency from macro target MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `DefaultsMacrosDeclarations` macro target only uses SwiftSyntax modules — it generates source code strings containing Defaults references but never imports or links against the Defaults library itself. Having `Defaults` as a dependency of the `.macro` target causes Mac Catalyst archive builds to fail with "Multiple commands produce" errors. Macro targets are built for the host platform (macOS), and when the app target is Mac Catalyst (also a macOS variant), the Defaults library gets built for both host and target, producing duplicate output files at the same path. Removing this dependency fixes the archive collision while all 289 package tests continue to pass. Co-Authored-By: Claude Opus 4.6 --- Package.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/Package.swift b/Package.swift index 4633d769..8d4e81ab 100644 --- a/Package.swift +++ b/Package.swift @@ -41,7 +41,6 @@ let package = Package( .macro( name: "DefaultsMacrosDeclarations", dependencies: [ - "Defaults", .product(name: "SwiftSyntaxMacros", package: "swift-syntax"), .product(name: "SwiftCompilerPlugin", package: "swift-syntax") ]