Remove empty ()
from PBXFileSystemSynchronizedRootGroup exceptions output
#1012
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
When using "Convert to Folder" on groups in projects within a CocoaPods workspace, an empty
exceptions = ();
entry is unnecessarily added to the pbxproj file.Why This Is a Problem
There's no need to include this empty configuration when there are no exceptions. If it were truly necessary, Xcode itself would add
exceptions = ();
when performing the Convert to Folder operation. These unnecessary entries make the project file needlessly complex and create unwanted diffs.Solution
The
PBXNativeTarget
class in this project already overrides theto_hash_as
method to exclude empty collections (like packageProductDependencies) from serialization.By extending the
PBXFileSystemSynchronizedRootGroup
class with a similar approach, we can prevent empty exceptions collections from being serialized, eliminating the unnecessaryexceptions = ();
entries in pbxproj files.