-
-
Notifications
You must be signed in to change notification settings - Fork 375
refactor(dx): Add structured Makefile with usage description #7129
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
Conversation
- Add CONFIGURATION section with platform-specific variables - Organize targets into clear sections (SETUP, BUILDING, TESTING, etc.) - Add comprehensive documentation comments (## summaries, # details) - Add help system with 'make help' command - Add build targets for all platforms (iOS, macOS, Catalyst, tvOS, visionOS, watchOS) - Add test targets for all platforms (except watchOS - XCTest not supported) - Add make build and make test convenience targets - Improve consistency with platform-specific variable naming - Update watchOS build to use Simulator destination - Add comment explaining why test-watchos is not available
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7129 +/- ##
=============================================
+ Coverage 84.749% 84.778% +0.028%
=============================================
Files 461 461
Lines 27815 27815
Branches 12323 12323
=============================================
+ Hits 23573 23581 +8
- Misses 3981 4192 +211
+ Partials 261 42 -219 see 32 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
|
@sentry review |
Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 013fd4d | 1216.02 ms | 1242.16 ms | 26.14 ms |
| 83bf9af | 1213.30 ms | 1234.18 ms | 20.89 ms |
| 778dadf | 1207.69 ms | 1246.09 ms | 38.40 ms |
| 3bf0d3f | 1202.12 ms | 1237.23 ms | 35.11 ms |
| 2f4ddaa | 1227.26 ms | 1260.04 ms | 32.78 ms |
| 9f7ef2b | 1213.53 ms | 1250.23 ms | 36.70 ms |
| adeec82 | 1220.43 ms | 1254.94 ms | 34.51 ms |
| d29a425 | 1209.96 ms | 1239.00 ms | 29.04 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 013fd4d | 24.14 KiB | 1.04 MiB | 1.02 MiB |
| 83bf9af | 24.14 KiB | 1.04 MiB | 1.02 MiB |
| 778dadf | 24.14 KiB | 1.04 MiB | 1.02 MiB |
| 3bf0d3f | 24.14 KiB | 1.04 MiB | 1.02 MiB |
| 2f4ddaa | 24.14 KiB | 1.04 MiB | 1.02 MiB |
| 9f7ef2b | 24.14 KiB | 1.04 MiB | 1.02 MiB |
| adeec82 | 24.14 KiB | 1.04 MiB | 1.02 MiB |
| d29a425 | 24.14 KiB | 1.04 MiB | 1.02 MiB |
Previous results on branch: philprime/makefile-makeover
Startup times
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 178559d | 1220.23 ms | 1251.87 ms | 31.63 ms |
| 4acae15 | 1225.65 ms | 1245.24 ms | 19.59 ms |
| b5992b3 | 1214.34 ms | 1257.39 ms | 43.05 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 178559d | 24.14 KiB | 1.04 MiB | 1.02 MiB |
| 4acae15 | 24.14 KiB | 1.03 MiB | 1.01 MiB |
| b5992b3 | 24.14 KiB | 1.04 MiB | 1.02 MiB |
…pendency The HELP_DETAIL_AWK script was incorrectly showing the first dependency in the usage output instead of the requested target. For example, when requesting help for 'test', it would show 'Usage: make test-ios' instead of 'Usage: make test'. This fix ensures the usage always shows the target the user requested.
Resolved conflict in Makefile by integrating the new strip-xcframework-expected-signature target from main while preserving the improved documentation formatting from the makefile-makeover branch.
philipphofmann
left a comment
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.
Thanks, this is long overdue.
Semver Impact of This PR🟢 Patch (bug fixes) 📋 Changelog PreviewThis is how your changes will appear in the changelog. New Features ✨
Bug Fixes 🐛
Build / dependencies / internal 🔧Deps
Other
Other
🤖 This preview updates automatically when you update the PR. |
Summary
This PR refactors the Makefile to provide better structure, documentation, and developer experience.
Changes
make helpcommand with detailed help for each targetmake buildconvenience target and individual platform builds (build-ios, build-macos, build-catalyst, build-tvos, build-visionos, build-watchos)make testconvenience target and individual platform tests (test-ios, test-macos, test-catalyst, test-tvos, test-visionos)Example:
make helpOutputBenefits
make helpTesting
make helpworks correctlyCloses #7135