Skip to content

pbxnativetargets: add synchronized folders to targets - #3377

Open
erneestoc wants to merge 2 commits into
MobileNativeFoundation:mainfrom
erneestoc:ec/sync-folders-targets
Open

erneestoc wants to merge 2 commits into
MobileNativeFoundation:mainfrom
erneestoc:ec/sync-folders-targets

Conversation

@erneestoc

@erneestoc erneestoc commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Second of three PRs adding Xcode 16 synchronized folders, split out of #3373. Based on #3376; only the last commit is new.

  • pbxnativetargets: targets take a list of synchronized folders (after non_arc_srcs) and reference each folder's group in fileSystemSynchronizedGroups. The Starlark side writes an empty list for now.
  • pbxproj_prefix: an optional --uses-synchronized-folders sets objectVersion = 70, what Xcode writes for projects with synchronized folders. Without it, the version doesn't change.

Generated projects don't change.

Next: #3378 (the aspect hint that turns it on).

Adds an optional `--synchronized-folders-file` to `files_and_groups`.
Each folder in it is created as a `PBXFileSystemSynchronizedRootGroup`
(Xcode 16's buildable folders) in place of a `PBXFileReference`, and file
paths inside it are left out of the tree, since Xcode lists the folder's
contents itself.

The group's identifier only depends on its path
(`Identifiers.FilesAndGroups.synchronizedRootGroup`), so that targets
created by other generators can reference it.

Nothing passes the flag yet, so generated projects don't change.

Signed-off-by: Ernesto Cambuston <e.cambuston@gmail.com>
Targets take a list of synchronized folders after `non_arc_srcs`, and
reference each one's `PBXFileSystemSynchronizedRootGroup` in
`fileSystemSynchronizedGroups`. For now, the list is always empty.

`pbxproj_prefix` gets an optional `--uses-synchronized-folders`, which
sets `objectVersion` to 70, what Xcode writes for projects with
synchronized folders. Without it, the object version doesn't change.

Signed-off-by: Ernesto Cambuston <e.cambuston@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant