feat: Introduce the new Xcode 16 models PBXFileSystemSynchronizedRootGroup and PBXFileSystemSynchronizedBuildFileExceptionSet#827
Conversation
kwridan
left a comment
There was a problem hiding this comment.
Thanks for adding this @pepicrft
Worth adding a fixture to test out reading / writing.
From a quick test it seems there might be a few missing integrations to wire up the new models up as it still doesn't recognise them when attempt to read an Xcode 16 project that uses the new folder references.
failed: caught error: "The element PBXFileSystemSynchronizedRootGroup is not supported."
2c206e8 to
e25feb8
Compare
|
@kwridan I uncovered the missing pieces through tests and fixed some minor issues. I'd appreciate a look when you have some spare time. |
|
@kwridan this should be ready for another look. |
eb64294 to
5f6c53b
Compare
…dencies attribute of PBXTarget
5f6c53b to
fe6311f
Compare
…roup.swift Co-authored-by: Kas <kwridan@users.noreply.github.com>
I'll add those as part of this PR. Thanks for the review @kwridan |
PBXFileSystemSynchronizedRootGroup and PBXFileSystemSynchronizedBuildFileExceptionSetPBXFileSystemSynchronizedRootGroup and PBXFileSystemSynchronizedBuildFileExceptionSet
|
@kwridan could you remind me of where platform filters are used? I also noticed that there's another object type to define exception for files referenced by copy build phases. I created an issue to tackle that in a follow-up PR. |
Apple is introducing two new models,
PBXFileSystemSynchronizedRootGroupandPBXFileSystemSynchronizedBuildFileExceptionSet, to reduce Git conflicts. Those types allow targets to reference a folder, whose files get automatically synchronized instead of creating references for every single file.This PR adds those models along with the serialization logic. Once we use them from Tuist, I'll get ideas for convenient APIs that we might consider pushing down to the XcodeProj layer.