Skip to content

Conversation

@johnrbent
Copy link

Resolves #852

Short description 📝

Adds support for changes to the XCBuildConfiguration representation of xcconfig files contained within a file-system synchronized root group.

Solution 📦

Instead of a single baseConfigurationReference, these xcconfig files are represented by a pair of:

  • baseConfigurationReferenceAnchor: reference to the synced root group.
  • baseConfigurationReferenceRelativePath: relative path to the file from the root group.

*config files within a PBXGroup are still represented by the baseConfigurationReference

Implementation 👩‍💻👨‍💻

  • Add the two new optional properties to the XCBuildConfiguration type following existing patterns for baseConfigurationReference
  • Include new unit test on the encoding as well as a fixture project with xcconfig files in a synced root group.
  • I have another PR ready for XcodeGraph to adopt these changes that I'll put up once this is merged.

(This is my first contribution to the project. I'm happy to make changes if needed)

@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Dec 26, 2025
@dosubot
Copy link

dosubot bot commented Dec 26, 2025

Related Documentation

Checked 1 published document(s) in 1 knowledge base(s). No updates required.

How did I do? Any feedback?  Join Discord

[*]
indent_style = space
indent_size = 2
indent_size = 4
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't sure about this, but I had to change this to get the correct indentation locally in Xcode. Maybe someone can explain why it should be 2?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Xcode 16 • XCBuildConfiguration Changes

1 participant