react-native
react-native copied to clipboard
[RN][iOS] Split hermes-engine podspec in Debug and Release to get rid of PRODUCTION flag
Summary:
In iOS in OSS, we used to use the PRODUCTION flag to install pods with a Release configuration. This is a non-standard flow which we would like to remove. The standard flow would only use Xcode Debug/Release configurations and would save the reinstall pods step to every developer.
The last blocker for the removal of this flag was the hermes-engine
pod which not only has to use different configurations depending on whether it is build for debug or release, but it has
also to provide different prebuilts for the two setups.
The adopted solution is to split the podspec in three: an high level podspec that depends on the flavour-aware podspecs. You can look here for the description of the issue and the adopted solution.
Changelog:
[IOS] [CHANGED] - Split Hermes-engine in three subspecs to remove the PRODUCTION flag
Test Plan:
Tested locally in an app created from the template Tested locally with RNTester CircleCI
@cipolleschi has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.
Platform | Engine | Arch | Size (bytes) | Diff |
---|---|---|---|---|
android | hermes | arm64-v8a | 8,747,778 | -57 |
android | hermes | armeabi-v7a | 8,060,382 | -51 |
android | hermes | x86 | 9,239,388 | -52 |
android | hermes | x86_64 | 9,089,192 | -45 |
android | jsc | arm64-v8a | 9,310,333 | -94 |
android | jsc | armeabi-v7a | 8,500,272 | -89 |
android | jsc | x86 | 9,372,836 | -89 |
android | jsc | x86_64 | 9,626,734 | -87 |
Base commit: ef5d92f648670f5b32aacd73d9a9e278520ba743 Branch: main
Abandoning this in favor of #37850
This is not relevant anymore