Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add File system synchronized groups comparator #143

Merged
merged 2 commits into from
Feb 14, 2025

Conversation

kwridan
Copy link
Contributor

@kwridan kwridan commented Feb 12, 2025

Resolves: #140

Describe your changes

  • Adding a new comparator to diff the Xcode 16 synchronized groups which can include sources

Testing performed

Run xcdiff on the new fixture and verify it flags diffs for the mismatching groups

swift run xcdiff -p1 Fixtures/xcode16_syncgroups_1/Project.xcodeproj -p2 Fixtures/xcode16_syncgroups_2/Project.xcodeproj -v

@kwridan kwridan force-pushed the feature/syncgroup-comparator branch from b7be346 to e6779d7 Compare February 12, 2025 13:50
Copy link

codecov bot commented Feb 12, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.02%. Comparing base (c48fb45) to head (8636f33).
Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #143      +/-   ##
==========================================
- Coverage   97.05%   97.02%   -0.03%     
==========================================
  Files          52       53       +1     
  Lines        2986     3024      +38     
==========================================
+ Hits         2898     2934      +36     
- Misses         88       90       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kwridan kwridan force-pushed the feature/syncgroup-comparator branch from e6779d7 to 598e7df Compare February 12, 2025 14:50
Resolves: bloomberg#140

- Adding a new comparator to diff the Xcode 16 synchronized groups which can include sources

Test Plan:

Run xcdiff on the new fixture and verify it flags diffs for the mismatching groups

```
swift run xcdiff -p1 Fixtures/xcode16_syncgroups_1/Project.xcodeproj -p2 Fixtures/xcode16_syncgroups_2/Project.xcodeproj -v
```

Signed-off-by: Kassem Wridan <[email protected]>
@kwridan kwridan force-pushed the feature/syncgroup-comparator branch from 598e7df to 022f745 Compare February 12, 2025 14:50
@kwridan kwridan marked this pull request as ready for review February 13, 2025 19:26
@kwridan
Copy link
Contributor Author

kwridan commented Feb 14, 2025

An alternative name of the comparator could be buildable_folders which seems to be the name used in some of the Xcode docs

https://developer.apple.com/documentation/updates/xcode#Projects-and-workspaces

Minimize project file changes and avoid conflicts with buildable folder references. Convert an existing group to a buildable folder with the Convert to Folder context menu item in the Project Navigator. Buildable folders only record the folder path into the project file without enumerating the contained files, minimizing diffs to the project when your team adds or removes files, and avoiding source control conflicts. To use a folder as an opaque copiable resource, the default behavior before Xcode 16, uncheck the Build Folder Contents option in the File Inspector.

Copy link
Contributor

@marciniwanicki marciniwanicki left a comment

Choose a reason for hiding this comment

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

Looks good, thank you @kwridan 👍

@kwridan kwridan merged commit 7c984a7 into bloomberg:main Feb 14, 2025
5 checks passed
@kwridan kwridan deleted the feature/syncgroup-comparator branch February 14, 2025 14:09
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.

Add support for diffing the new Xcode 16 project elements
2 participants