Commit df251b2
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>1 parent 3e6e5e3 commit df251b2
2 files changed
Lines changed: 56 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
209 | 214 | | |
| 215 | + | |
210 | 216 | | |
211 | 217 | | |
212 | 218 | | |
| |||
283 | 289 | | |
284 | 290 | | |
285 | 291 | | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
286 | 305 | | |
287 | 306 | | |
288 | 307 | | |
| |||
356 | 375 | | |
357 | 376 | | |
358 | 377 | | |
359 | | - | |
| 378 | + | |
360 | 379 | | |
361 | 380 | | |
362 | 381 | | |
| |||
402 | 421 | | |
403 | 422 | | |
404 | 423 | | |
| 424 | + | |
| 425 | + | |
405 | 426 | | |
406 | 427 | | |
407 | 428 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
415 | 415 | | |
416 | 416 | | |
417 | 417 | | |
418 | | - | |
| 418 | + | |
419 | 419 | | |
420 | 420 | | |
421 | 421 | | |
| |||
436 | 436 | | |
437 | 437 | | |
438 | 438 | | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
443 | 444 | | |
444 | 445 | | |
445 | 446 | | |
| |||
491 | 492 | | |
492 | 493 | | |
493 | 494 | | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
494 | 523 | | |
495 | 524 | | |
496 | 525 | | |
| |||
0 commit comments