Fix synced folder issues: configFiles duplicate, group insertion, and directory-level membershipExceptions (#1607)
* Fix configFiles creating duplicate group inside synced folder When configFiles reference paths inside a synced folder source, getContainedFileReference() created a separate PBXGroup hierarchy that duplicated the PBXFileSystemSynchronizedRootGroup already managing those files. Skip group creation in getContainedFileReference when the file path falls inside an existing synced folder root. Fixes the same class of issue as #1602, but for configFiles rather than target sources. * Fix synced folder group duplication and directory-level membershipExceptions - Prevent rootGroups insertion for paths inside synced folders, avoiding duplicate PBXGroup alongside PBXFileSystemSynchronizedRootGroup - Recurse into non-included directories in findExceptions to list individual file paths instead of directory names, since Xcode does not recursively exclude directory contents from membershipExceptions Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Update test: expect individual file paths instead of directory names in exceptions Xcode does not recursively exclude directory contents from membershipExceptions, so the correct behavior is to list individual files rather than directory names. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Use basePath instead of project.basePath for synced folder checks When XcodeGen is run with --project-directory, the computed basePath property accounts for the different output location. Using project.basePath would resolve paths incorrectly in that scenario. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
A
Alexandre Nussbaumer committed
df251b29cd01f7527007c9e995fdf5ea79c04645
Parent: 3e6e5e3
Committed by GitHub <noreply@github.com>
on 4/14/2026, 1:14:22 PM