From 1c007d553cc71884952def921a15e7d088084854 Mon Sep 17 00:00:00 2001 From: Javier Cuevas Date: Fri, 3 Apr 2020 09:51:42 +0200 Subject: [PATCH 1/2] List all FlipperKit transitive dependencies to exclude them from Release build The `:configuration` option from `pod` only affects the specified pod and not its dependencies [1]. Therefore in order to avoid all transitive dependencies being linked in the resulting Release IPA we need to list them in the `Podfile`. [1] https://guides.cocoapods.org/syntax/podfile.html#pod --- scripts/react_native_pods.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index e1afb436b90dd5..8e3930dbd973e8 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -63,6 +63,23 @@ def use_flipper!(version = '~> 0.33.1') pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug' pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug' pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug' + + # List all transitive dependencies for FlipperKit pods + # to avoid them being linked in Release builds + pod 'Flipper', version, :configuration => 'Debug' + pod 'Flipper-DoubleConversion', '1.1.7', :configuration => 'Debug' + pod 'Flipper-Folly', '~> 2.1', :configuration => 'Debug' + pod 'Flipper-Glog', '0.3.6', :configuration => 'Debug' + pod 'Flipper-PeerTalk', '~> 0.0.4', :configuration => 'Debug' + pod 'Flipper-RSocket', '~> 1.0', :configuration => 'Debug' + pod 'FlipperKit/Core', version, :configuration => 'Debug' + pod 'FlipperKit/CppBridge', version, :configuration => 'Debug' + pod 'FlipperKit/FBCxxFollyDynamicConvert', version, :configuration => 'Debug' + pod 'FlipperKit/FBDefines', version, :configuration => 'Debug' + pod 'FlipperKit/FKPortForwarding', version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitHighlightOverlay', version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitLayoutTextSearchable', version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitNetworkPlugin', version, :configuration => 'Debug' end # Post Install processing for Flipper From 4719d12eef58052e1fd768dd674ca7592bc3795d Mon Sep 17 00:00:00 2001 From: Javier Cuevas Date: Fri, 3 Apr 2020 15:37:46 +0200 Subject: [PATCH 2/2] Allow to pass version numbers for Flipper dependencies --- scripts/react_native_pods.rb | 47 +++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index 8e3930dbd973e8..21984326468080 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -57,29 +57,36 @@ def use_react_native! (options={}) end end -def use_flipper!(version = '~> 0.33.1') - pod 'FlipperKit', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug' - pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug' +def use_flipper!(versions = {}) + versions['Flipper'] ||= '~> 0.33.1' + versions['DoubleConversion'] ||= '1.1.7' + versions['Flipper-Folly'] ||= '~> 2.1' + versions['Flipper-Glog'] ||= '0.3.6' + versions['Flipper-PeerTalk'] ||= '~> 0.0.4' + versions['Flipper-RSocket'] ||= '~> 1.0' + + pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug' # List all transitive dependencies for FlipperKit pods # to avoid them being linked in Release builds - pod 'Flipper', version, :configuration => 'Debug' - pod 'Flipper-DoubleConversion', '1.1.7', :configuration => 'Debug' - pod 'Flipper-Folly', '~> 2.1', :configuration => 'Debug' - pod 'Flipper-Glog', '0.3.6', :configuration => 'Debug' - pod 'Flipper-PeerTalk', '~> 0.0.4', :configuration => 'Debug' - pod 'Flipper-RSocket', '~> 1.0', :configuration => 'Debug' - pod 'FlipperKit/Core', version, :configuration => 'Debug' - pod 'FlipperKit/CppBridge', version, :configuration => 'Debug' - pod 'FlipperKit/FBCxxFollyDynamicConvert', version, :configuration => 'Debug' - pod 'FlipperKit/FBDefines', version, :configuration => 'Debug' - pod 'FlipperKit/FKPortForwarding', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitHighlightOverlay', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitLayoutTextSearchable', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitNetworkPlugin', version, :configuration => 'Debug' + pod 'Flipper', versions['Flipper'], :configuration => 'Debug' + pod 'Flipper-DoubleConversion', versions['DoubleConversion'], :configuration => 'Debug' + pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug' + pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug' + pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug' + pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug' + pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug' end # Post Install processing for Flipper