-
Notifications
You must be signed in to change notification settings - Fork 45
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 copy files build phase comparator #40
Add copy files build phase comparator #40
Conversation
Signed-off-by: Marcin Iwanicki <miwanicki1@bloomberg.net>
b9d7047
to
1419004
Compare
Codecov Report
@@ Coverage Diff @@
## master #40 +/- ##
==========================================
+ Coverage 95.01% 96.05% +1.04%
==========================================
Files 40 42 +2
Lines 1787 1878 +91
==========================================
+ Hits 1698 1804 +106
+ Misses 89 74 -15
Continue to review full report at Codecov.
|
…d phase, update docs Signed-off-by: Marcin Iwanicki <miwanicki1@bloomberg.net>
Signed-off-by: Marcin Iwanicki <miwanicki1@bloomberg.net>
Signed-off-by: Marcin Iwanicki <miwanicki1@bloomberg.net>
… phases (#886) ### Short description 📝 While working on bloomberg/xcdiff#40, we discovered that some of the build files are missing `RemoveHeadersOnCopy` attribute. The attribute determines if the headers should be striped from the archive, and if not set, can lead to headers leakage. The attribute is not visible in the Xcode UI, but added automatically every time a certain bundle types are added to a copy files build phase (i.e. .framework, .appex). Oddly the attribute is not added for `.xcframework`, but it's probably an Xcode issue (FB7533618). ### Solution 📦 Added "RemoveHeadersOnCopy" attribute for build files in embed precompiled frameworks, embed watch content, and embed app extensions build phases. ### Implementation 👩💻👨💻 - [x] Update TuistGenerator to add `RemoveHeadersOnCopy` - [x] Update acceptance tests - [x] Update CHANGELOG
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work 👍
Just realised the "dependencies" comparator is somewhat incomplete:
e.g. Dependencies in the first build phase here aren't compared
we can address is in a separate PR (added #41).
### `copy_files` | ||
|
||
Compares copy files build phases i.e. embed frameworks, extensions | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Resolves: #17
Describe your changes
Added copy files build phase comparator which allow to find differences in "Extensions" or "Embed Frameworks" build phases. The comparator only compares common build phases (build phases with the same name in both projects). Name or order differences can be picked up by
BuildPhasesComparator
.Testing performed
xcdiff -g copy_files
):