From b69e072ab9e32970ad2ac0e9f2fc7de979c3ccf7 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 11 Jun 2021 13:11:49 -0500 Subject: [PATCH 1/8] Revert "Undo a rearchitecture that breaks us downstream (#777)" This reverts commit 73224cf4eb4b1c1b9fb518926e876e0d99d81805. --- RNTester/Podfile | 4 +- RNTester/Podfile.lock | 568 +++++++++++------- .../RNTesterPods.xcodeproj/project.pbxproj | 37 +- RNTester/android/app/gradle.properties | 2 +- React/CxxBridge/RCTCxxBridge.mm | 2 +- React/CxxBridge/RCTObjcExecutor.mm | 7 +- .../facebook/react/bridge/JavaJSExecutor.java | 2 +- .../devsupport/JSDebuggerWebSocketClient.java | 2 +- .../WebsocketJavaScriptExecutor.java | 7 +- .../src/main/jni/react/jni/ProxyExecutor.cpp | 15 +- .../src/main/jni/react/jni/ProxyExecutor.h | 3 +- .../JSDebuggerWebSocketClientTest.java | 4 +- ReactCommon/cxxreact/Instance.cpp | 24 +- ReactCommon/cxxreact/Instance.h | 6 +- ReactCommon/cxxreact/JSExecutor.h | 7 +- ReactCommon/cxxreact/NativeToJsBridge.cpp | 13 +- ReactCommon/cxxreact/NativeToJsBridge.h | 11 +- .../jsiexecutor/jsireact/JSIExecutor.cpp | 23 +- .../jsiexecutor/jsireact/JSIExecutor.h | 3 +- scripts/react_native_pods.rb | 8 +- template/android/gradle.properties | 2 +- 21 files changed, 456 insertions(+), 294 deletions(-) diff --git a/RNTester/Podfile b/RNTester/Podfile index 6cf40f7c6ab69a..52f79d8b5502be 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -34,7 +34,7 @@ end target 'RNTester' do pods() - # use_flipper! # TODO: GH#774 disable flipper + use_flipper! end target 'RNTesterUnitTests' do @@ -82,7 +82,7 @@ end # ]TODO(macOS ISS#2323203) post_install do |installer| - # flipper_post_install(installer) # TODO: GH#774 disable flipper + flipper_post_install(installer) installer.pods_project.targets.each do |target| # [TODO(macOS ISS#2323203): the internal Microsoft build pipeline needs iOS arm64e slices if target.platform_name == :ios diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index eebe244bc15c62..4a5662c9eaf3f6 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -1,15 +1,67 @@ PODS: - boost-for-react-native (1.63.0) + - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.63.32) - - FBReactNativeSpec (0.63.32): - - RCT-Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.32) - - RCTTypeSafety (= 0.63.32) - - React-Core (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) + - FBLazyVector (0.63.33) + - FBReactNativeSpec (0.63.33): + - RCT-Folly (= 2020.01.13.00) + - RCTRequired (= 0.63.33) + - RCTTypeSafety (= 0.63.33) + - React-Core (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - Flipper (0.54.0): + - Flipper-Folly (~> 2.2) + - Flipper-RSocket (~> 1.1) + - Flipper-Boost-iOSX (1.76.0.1.11) + - Flipper-DoubleConversion (1.1.7) + - Flipper-Fmt (7.1.7) + - Flipper-Folly (2.6.7): + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt (= 7.1.7) + - Flipper-Glog + - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.180) + - Flipper-Glog (0.3.6) + - Flipper-PeerTalk (0.0.4) + - Flipper-RSocket (1.4.3): + - Flipper-Folly (~> 2.6) + - FlipperKit (0.54.0): + - FlipperKit/Core (= 0.54.0) + - FlipperKit/Core (0.54.0): + - Flipper (~> 0.54.0) + - FlipperKit/CppBridge + - FlipperKit/FBCxxFollyDynamicConvert + - FlipperKit/FBDefines + - FlipperKit/FKPortForwarding + - FlipperKit/CppBridge (0.54.0): + - Flipper (~> 0.54.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.54.0): + - Flipper-Folly (~> 2.2) + - FlipperKit/FBDefines (0.54.0) + - FlipperKit/FKPortForwarding (0.54.0): + - CocoaAsyncSocket (~> 7.6) + - Flipper-PeerTalk (~> 0.0.4) + - FlipperKit/FlipperKitHighlightOverlay (0.54.0) + - FlipperKit/FlipperKitLayoutPlugin (0.54.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutTextSearchable + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutTextSearchable (0.54.0) + - FlipperKit/FlipperKitNetworkPlugin (0.54.0): + - FlipperKit/Core + - FlipperKit/FlipperKitReactPlugin (0.54.0): + - FlipperKit/Core + - FlipperKit/FlipperKitUserDefaultsPlugin (0.54.0): + - FlipperKit/Core + - FlipperKit/SKIOSNetworkPlugin (0.54.0): + - FlipperKit/Core + - FlipperKit/FlipperKitNetworkPlugin - glog (0.3.5) + - libevent (2.1.12) + - OpenSSL-Universal (1.1.180) - RCT-Folly (2020.01.13.00): - boost-for-react-native - DoubleConversion @@ -19,290 +71,311 @@ PODS: - boost-for-react-native - DoubleConversion - glog - - RCTRequired (0.63.32) - - RCTTypeSafety (0.63.32): - - FBLazyVector (= 0.63.32) - - RCT-Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.32) - - React-Core (= 0.63.32) - - React (0.63.32): - - React-Core (= 0.63.32) - - React-Core/DevSupport (= 0.63.32) - - React-Core/RCTWebSocket (= 0.63.32) - - React-RCTActionSheet (= 0.63.32) - - React-RCTAnimation (= 0.63.32) - - React-RCTBlob (= 0.63.32) - - React-RCTImage (= 0.63.32) - - React-RCTLinking (= 0.63.32) - - React-RCTNetwork (= 0.63.32) - - React-RCTSettings (= 0.63.32) - - React-RCTText (= 0.63.32) - - React-RCTVibration (= 0.63.32) - - React-ART (0.63.32): - - React-Core/ARTHeaders (= 0.63.32) - - React-callinvoker (0.63.32) - - React-Core (0.63.32): + - RCTRequired (0.63.33) + - RCTTypeSafety (0.63.33): + - FBLazyVector (= 0.63.33) + - RCT-Folly (= 2020.01.13.00) + - RCTRequired (= 0.63.33) + - React-Core (= 0.63.33) + - React (0.63.33): + - React-Core (= 0.63.33) + - React-Core/DevSupport (= 0.63.33) + - React-Core/RCTWebSocket (= 0.63.33) + - React-RCTActionSheet (= 0.63.33) + - React-RCTAnimation (= 0.63.33) + - React-RCTBlob (= 0.63.33) + - React-RCTImage (= 0.63.33) + - React-RCTLinking (= 0.63.33) + - React-RCTNetwork (= 0.63.33) + - React-RCTSettings (= 0.63.33) + - React-RCTText (= 0.63.33) + - React-RCTVibration (= 0.63.33) + - React-ART (0.63.33): + - React-Core/ARTHeaders (= 0.63.33) + - React-callinvoker (0.63.33) + - React-Core (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.63.32) - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-Core/Default (= 0.63.33) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/ARTHeaders (0.63.32): + - React-Core/ARTHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/CoreModulesHeaders (0.63.32): + - React-Core/CoreModulesHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/Default (0.63.32): + - React-Core/Default (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/DevSupport (0.63.32): + - React-Core/DevSupport (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.63.32) - - React-Core/RCTWebSocket (= 0.63.32) - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) - - React-jsinspector (= 0.63.32) + - React-Core/Default (= 0.63.33) + - React-Core/RCTWebSocket (= 0.63.33) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) + - React-jsinspector (= 0.63.33) - Yoga - - React-Core/RCTActionSheetHeaders (0.63.32): + - React-Core/RCTActionSheetHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTAnimationHeaders (0.63.32): + - React-Core/RCTAnimationHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTBlobHeaders (0.63.32): + - React-Core/RCTBlobHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTImageHeaders (0.63.32): + - React-Core/RCTImageHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTLinkingHeaders (0.63.32): + - React-Core/RCTLinkingHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTNetworkHeaders (0.63.32): + - React-Core/RCTNetworkHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTPushNotificationHeaders (0.63.32): + - React-Core/RCTPushNotificationHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTSettingsHeaders (0.63.32): + - React-Core/RCTSettingsHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTTextHeaders (0.63.32): + - React-Core/RCTTextHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTVibrationHeaders (0.63.32): + - React-Core/RCTVibrationHeaders (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-Core/RCTWebSocket (0.63.32): + - React-Core/RCTWebSocket (0.63.33): - glog - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.63.32) - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsiexecutor (= 0.63.32) + - React-Core/Default (= 0.63.33) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsiexecutor (= 0.63.33) - Yoga - - React-CoreModules (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.32) - - React-Core/CoreModulesHeaders (= 0.63.32) - - React-jsi (= 0.63.32) - - React-RCTImage (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-cxxreact (0.63.32): + - React-CoreModules (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.63.33) + - React-Core/CoreModulesHeaders (= 0.63.33) + - React-jsi (= 0.63.33) + - React-RCTImage (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-cxxreact (0.63.33): - boost-for-react-native (= 1.63.0) - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-callinvoker (= 0.63.32) - - React-jsinspector (= 0.63.32) - - React-jsi (0.63.32): + - React-callinvoker (= 0.63.33) + - React-jsinspector (= 0.63.33) + - React-jsi (0.63.33): - boost-for-react-native (= 1.63.0) - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-jsi/Default (= 0.63.32) - - React-jsi/Default (0.63.32): + - React-jsi/Default (= 0.63.33) + - React-jsi/Default (0.63.33): - boost-for-react-native (= 1.63.0) - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-jsiexecutor (0.63.32): + - React-jsiexecutor (0.63.33): - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - React-jsinspector (0.63.32) - - React-RCTActionSheet (0.63.32): - - React-Core/RCTActionSheetHeaders (= 0.63.32) - - React-RCTAnimation (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.32) - - React-Core/RCTAnimationHeaders (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-RCTBlob (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - RCT-Folly (= 2020.01.13.00) - - React-Core/RCTBlobHeaders (= 0.63.32) - - React-Core/RCTWebSocket (= 0.63.32) - - React-jsi (= 0.63.32) - - React-RCTNetwork (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-RCTImage (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.32) - - React-Core/RCTImageHeaders (= 0.63.32) - - React-jsi (= 0.63.32) - - React-RCTNetwork (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-RCTLinking (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - React-Core/RCTLinkingHeaders (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-RCTNetwork (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.32) - - React-Core/RCTNetworkHeaders (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-RCTPushNotification (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - RCTTypeSafety (= 0.63.32) - - React-Core/RCTPushNotificationHeaders (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-RCTSettings (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.32) - - React-Core/RCTSettingsHeaders (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-RCTTest (0.63.32): - - RCT-Folly (= 2020.01.13.00) - - React-Core (= 0.63.32) - - React-CoreModules (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-RCTText (0.63.32): - - React-Core/RCTTextHeaders (= 0.63.32) - - React-RCTVibration (0.63.32): - - FBReactNativeSpec (= 0.63.32) - - RCT-Folly (= 2020.01.13.00) - - React-Core/RCTVibrationHeaders (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-TurboModuleCxx-RNW (0.63.32): - - RCT-Folly (= 2020.01.13.00) - - React-callinvoker (= 0.63.32) - - React-TurboModuleCxx-WinRTPort (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) - - React-TurboModuleCxx-WinRTPort (0.63.32): - - React-TurboModuleCxx-WinRTPort/Shared (= 0.63.32) - - React-TurboModuleCxx-WinRTPort/WinRT (= 0.63.32) - - React-TurboModuleCxx-WinRTPort/Shared (0.63.32) - - React-TurboModuleCxx-WinRTPort/WinRT (0.63.32): - - React-callinvoker (= 0.63.32) - - React-TurboModuleCxx-WinRTPort/Shared (= 0.63.32) - - ReactCommon/turbomodule/core (0.63.32): + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - React-jsinspector (0.63.33) + - React-RCTActionSheet (0.63.33): + - React-Core/RCTActionSheetHeaders (= 0.63.33) + - React-RCTAnimation (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.63.33) + - React-Core/RCTAnimationHeaders (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-RCTBlob (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - RCT-Folly (= 2020.01.13.00) + - React-Core/RCTBlobHeaders (= 0.63.33) + - React-Core/RCTWebSocket (= 0.63.33) + - React-jsi (= 0.63.33) + - React-RCTNetwork (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-RCTImage (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.63.33) + - React-Core/RCTImageHeaders (= 0.63.33) + - React-jsi (= 0.63.33) + - React-RCTNetwork (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-RCTLinking (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - React-Core/RCTLinkingHeaders (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-RCTNetwork (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.63.33) + - React-Core/RCTNetworkHeaders (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-RCTPushNotification (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - RCTTypeSafety (= 0.63.33) + - React-Core/RCTPushNotificationHeaders (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-RCTSettings (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - RCT-Folly (= 2020.01.13.00) + - RCTTypeSafety (= 0.63.33) + - React-Core/RCTSettingsHeaders (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-RCTTest (0.63.33): + - RCT-Folly (= 2020.01.13.00) + - React-Core (= 0.63.33) + - React-CoreModules (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-RCTText (0.63.33): + - React-Core/RCTTextHeaders (= 0.63.33) + - React-RCTVibration (0.63.33): + - FBReactNativeSpec (= 0.63.33) + - RCT-Folly (= 2020.01.13.00) + - React-Core/RCTVibrationHeaders (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-TurboModuleCxx-RNW (0.63.33): + - RCT-Folly (= 2020.01.13.00) + - React-callinvoker (= 0.63.33) + - React-TurboModuleCxx-WinRTPort (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) + - React-TurboModuleCxx-WinRTPort (0.63.33): + - React-TurboModuleCxx-WinRTPort/Shared (= 0.63.33) + - React-TurboModuleCxx-WinRTPort/WinRT (= 0.63.33) + - React-TurboModuleCxx-WinRTPort/Shared (0.63.33) + - React-TurboModuleCxx-WinRTPort/WinRT (0.63.33): + - React-callinvoker (= 0.63.33) + - React-TurboModuleCxx-WinRTPort/Shared (= 0.63.33) + - ReactCommon/turbomodule/core (0.63.33): - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-callinvoker (= 0.63.32) - - React-Core (= 0.63.32) - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/samples (0.63.32): + - React-callinvoker (= 0.63.33) + - React-Core (= 0.63.33) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/samples (0.63.33): - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-callinvoker (= 0.63.32) - - React-Core (= 0.63.32) - - React-cxxreact (= 0.63.32) - - React-jsi (= 0.63.32) - - ReactCommon/turbomodule/core (= 0.63.32) + - React-callinvoker (= 0.63.33) + - React-Core (= 0.63.33) + - React-cxxreact (= 0.63.33) + - React-jsi (= 0.63.33) + - ReactCommon/turbomodule/core (= 0.63.33) - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) DEPENDENCIES: - boost-for-react-native (from `../third-party-podspecs/boost-for-react-native.podspec`) - DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../Libraries/FBLazyVector`) - FBReactNativeSpec (from `../Libraries/FBReactNativeSpec`) + - Flipper (~> 0.54.0) + - Flipper-DoubleConversion (= 1.1.7) + - Flipper-Folly (~> 2.2) + - Flipper-Glog (= 0.3.6) + - Flipper-PeerTalk (~> 0.0.4) + - Flipper-RSocket (~> 1.1) + - FlipperKit (~> 0.54.0) + - FlipperKit/Core (~> 0.54.0) + - FlipperKit/CppBridge (~> 0.54.0) + - FlipperKit/FBCxxFollyDynamicConvert (~> 0.54.0) + - FlipperKit/FBDefines (~> 0.54.0) + - FlipperKit/FKPortForwarding (~> 0.54.0) + - FlipperKit/FlipperKitHighlightOverlay (~> 0.54.0) + - FlipperKit/FlipperKitLayoutPlugin (~> 0.54.0) + - FlipperKit/FlipperKitLayoutTextSearchable (~> 0.54.0) + - FlipperKit/FlipperKitNetworkPlugin (~> 0.54.0) + - FlipperKit/FlipperKitReactPlugin (~> 0.54.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.54.0) + - FlipperKit/SKIOSNetworkPlugin (~> 0.54.0) - glog (from `../third-party-podspecs/glog.podspec`) - RCT-Folly (from `../third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../Libraries/RCTRequired`) @@ -335,6 +408,22 @@ DEPENDENCIES: - ReactCommon/turbomodule/samples (from `../ReactCommon`) - Yoga (from `../ReactCommon/yoga`) +SPEC REPOS: + trunk: + - CocoaAsyncSocket + - Flipper + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt + - Flipper-Folly + - Flipper-Glog + - Flipper-PeerTalk + - Flipper-RSocket + - FlipperKit + - libevent + - OpenSSL-Universal + - YogaKit + EXTERNAL SOURCES: boost-for-react-native: :podspec: "../third-party-podspecs/boost-for-react-native.podspec" @@ -403,38 +492,51 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost-for-react-native: dabda8622e76020607c2ae1e65cc0cda8b61479d + CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 56a44bcfd14ab2ff66f5a146b2e875eb4b69b19b - FBLazyVector: a4b5f6fefb3ced4eedc85500d14bed640bb46c5e - FBReactNativeSpec: 47c07cd23c7f895c8c6873119ec0a3d74da68da5 + FBLazyVector: 462de4c12a5e12deaee114d2341679c6abde70e2 + FBReactNativeSpec: 8c128e7e95ec6907abcb1497208d81590ccba7e1 + Flipper: be611d4b742d8c87fbae2ca5f44603a02539e365 + Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c + Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 + Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b + Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a + Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 + Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 + Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 + FlipperKit: ab353d41aea8aae2ea6daaf813e67496642f3d7d glog: 1cb7c408c781ae8f35bbababe459b45e3dee4ec1 + libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b RCT-Folly: 1347093ffe75e152d846f7e45a3ef901b60021aa - RCTRequired: 42e10384e0d0cc10c491ea93975566e93efc8508 - RCTTypeSafety: 9b9d0e720c7e0db01c4335c07293b0762db823ad - React: 51ff14afee47ba093fc9170f763b7e5ee361c4f0 - React-ART: 105074a113c9f5c04fcf27a941951f5fbd902dfc - React-callinvoker: 81976a8b4c2f36e2845f918850b8b8b3977067dc - React-Core: 229cee3de04ee6f3eb9a2f1c314cafd057c2410e - React-CoreModules: ddae027941fade9957154006bab7397a0917de1f - React-cxxreact: fa7d783de6749ac4486dbd52bc275c0b107e3147 - React-jsi: aebae4cac8b4e3e72ec440e1b993a7e00a5a48fb - React-jsiexecutor: ab86a4d3fc720b579b128aabf33a89b8ede76c28 - React-jsinspector: e4ac5a610152d21ec3e034d9ad70aae4608b6add - React-RCTActionSheet: db93b835d311cd3b66d5bbe74ae27dc0d159c235 - React-RCTAnimation: e1339a654462631e748f1425eb6dbfbd91c97133 - React-RCTBlob: 23126849c66216d5c3f41e831fbcf0e037b463c6 - React-RCTImage: 9b7364daeedb3f19f4c5b72f9314dba1cc587ebc - React-RCTLinking: 584663530f47870cdff11b16f72eeaaa448fd19b - React-RCTNetwork: 91110a1b415964d7d400bbe8aa6facfeaa72b815 - React-RCTPushNotification: d36b7b9deddc6089349b2772b557146ceadf2fb7 - React-RCTSettings: 292c70b3fc0b4bd2c934015d301255f2c75a4b3c - React-RCTTest: d9d626cc796d4901024c3e1a02519fd43bd0e52a - React-RCTText: cc3b6b12fd494c5b165172dd1fa1caa19a822934 - React-RCTVibration: 45f4840651f28f861918b24d58b5aa93e3818d40 - React-TurboModuleCxx-RNW: 8e0a0d71132191e51322a48a66ac61eda35692c8 - React-TurboModuleCxx-WinRTPort: 7df1517bb6f66ea5355a0b7882b1455627253e17 - ReactCommon: 3ae418a49b1777095501cceade126f9163f468bf - Yoga: 522d6c397c3635d756b397b0791ec327cba765e5 + RCTRequired: c08f4fda746d91ad9e6bd6c9b53a4fcf87c04bcc + RCTTypeSafety: 2d3a98340d0d16b7dd431934fa965926cd9e1750 + React: 5a904cbc3c91b17f41d27ed8ea0831065b6e5f10 + React-ART: dd5bb646d6bc2990ace7a258e31eb07127779715 + React-callinvoker: bf1f05f128f9fcc20c846c4f4427fb569ba9578e + React-Core: 38b52c7415df64f883228d59e7f33c6d5b758126 + React-CoreModules: 0b712a87a64c92c7d57768205571b65890bf4f1f + React-cxxreact: 7c93e59c19512130046b175c40939178b86d9308 + React-jsi: 0ee08b248b68c950a84df740c8bd4835e5f863ff + React-jsiexecutor: 34d44a917be4583dc04d0715fbb73d988761a68b + React-jsinspector: d4bbf569451953b6dd7d4672aff697ae52fae510 + React-RCTActionSheet: d0af02a1b84e1df8983c498eebce57ef17848ecf + React-RCTAnimation: cd443d8ddb0e404791a8bd05e34847ef3d600855 + React-RCTBlob: 7991cf31f48ad925ee40439ffab8709fa0e23b74 + React-RCTImage: 5c8beafbdeca4c7b4d64a0b965e1e104dc9adb5e + React-RCTLinking: f7fea934f0e728635bbbb3ff5c4ab4c0be1fd577 + React-RCTNetwork: 18ccad8e2e320dffb3962faf59783e0f3c49bd40 + React-RCTPushNotification: e816b6891c87e3db85e97ffc2073208cea1e5e77 + React-RCTSettings: c42c7924082f8186ee910337cf15b46321445583 + React-RCTTest: e57b195bd28a9cde688041eb54c0f9b15b4e3154 + React-RCTText: ce757496be5df6397a3e493b9e869059a3680982 + React-RCTVibration: e83a69cd0cdbc5a560ddc373a893675503a6558a + React-TurboModuleCxx-RNW: 744fc7a9a9053fd1feac538819774ab0ab2563b4 + React-TurboModuleCxx-WinRTPort: 7c91de3a7071e9a528fd979cc536d68edd45331a + ReactCommon: da0330d5196a7d9c7adc3d2d371fcb1b0930ba6b + Yoga: ce9a881f81d3176fe76d841426d9654b8b629f18 + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: dbdccdd110aedfbfec53a1685103e6291c57a217 +PODFILE CHECKSUM: 5778caa6b51e058eeab6b9d1c539074c087ef830 COCOAPODS: 1.10.1 diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 88f87933b71bc2..30af8fdfa915a8 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -676,6 +676,7 @@ 68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */, 5CF0FD27207FC6EC00C13D65 /* Start Metro */, 8BA2D8960038381F0B753726 /* [CP] Copy Pods Resources */, + CC0BABA908437A55DBA896A9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1250,6 +1251,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + CC0BABA908437A55DBA896A9 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; D3E745B9771EC6F02AC52196 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1515,7 +1533,10 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CODE_SIGN_ENTITLEMENTS = RNTester/RNTester.entitlements; DEVELOPMENT_TEAM = ""; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "FB_SONARKIT_ENABLED=1", + ); INFOPLIST_FILE = "$(SRCROOT)/RNTester/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1532,7 +1553,10 @@ "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)", ); - OTHER_CFLAGS = "$(inherited)"; + OTHER_CFLAGS = ( + "$(inherited)", + "-DFB_SONARKIT_ENABLED=1", + ); OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -1540,7 +1564,7 @@ "-framework", "\"JavaScriptCore\"", ); - OTHER_SWIFT_FLAGS = ""; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; PRODUCT_NAME = RNTester; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1566,7 +1590,10 @@ "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)", ); - OTHER_CFLAGS = "$(inherited)"; + OTHER_CFLAGS = ( + "$(inherited)", + "-DFB_SONARKIT_ENABLED=1", + ); OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -1574,7 +1601,7 @@ "-framework", "\"JavaScriptCore\"", ); - OTHER_SWIFT_FLAGS = ""; + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; PRODUCT_NAME = RNTester; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/RNTester/android/app/gradle.properties b/RNTester/android/app/gradle.properties index b0981309153aec..62c23ba112a5fd 100644 --- a/RNTester/android/app/gradle.properties +++ b/RNTester/android/app/gradle.properties @@ -9,4 +9,4 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.75.1 +FLIPPER_VERSION=0.54.0 diff --git a/React/CxxBridge/RCTCxxBridge.mm b/React/CxxBridge/RCTCxxBridge.mm index 566ec01c64389a..a278d8e6a80d72 100644 --- a/React/CxxBridge/RCTCxxBridge.mm +++ b/React/CxxBridge/RCTCxxBridge.mm @@ -1370,7 +1370,7 @@ - (void)executeApplicationScript:(NSData *)script url:(NSURL *)url async:(BOOL)a } else if (reactInstance) { reactInstance->loadScriptFromString(std::make_unique(script), sourceUrlStr.UTF8String, !async); } else { - std::string methodName = async ? "loadApplicationScript" : "loadApplicationScriptSync"; + std::string methodName = async ? "loadBundle" : "loadBundleSync"; throw std::logic_error("Attempt to call " + methodName + ": on uninitialized bridge"); } }]; diff --git a/React/CxxBridge/RCTObjcExecutor.mm b/React/CxxBridge/RCTObjcExecutor.mm index 47d5787aa18845..7eebcfcdde2372 100644 --- a/React/CxxBridge/RCTObjcExecutor.mm +++ b/React/CxxBridge/RCTObjcExecutor.mm @@ -67,7 +67,12 @@ setGlobalVariable("__fbBatchedBridgeConfig", std::make_unique(folly::toJson(config))); } - void loadApplicationScript(std::unique_ptr script, std::string sourceURL) override + void initializeRuntime() override + { + // We do nothing here since initialization is done in the constructor + } + + void loadBundle(std::unique_ptr script, std::string sourceURL) override { RCTProfileBeginFlowEvent(); [m_jse executeApplicationScript:[NSData dataWithBytes:script->c_str() length:script->size()] diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaJSExecutor.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaJSExecutor.java index b9572f64ce3eb1..db9f29b130e7fa 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaJSExecutor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaJSExecutor.java @@ -38,7 +38,7 @@ public ProxyExecutorException(Throwable cause) { * @param sourceURL url or file location from which script content was loaded */ @DoNotStrip - void loadApplicationScript(String sourceURL) throws ProxyExecutorException; + void loadBundle(String sourceURL) throws ProxyExecutorException; /** * Execute javascript method within js context diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java index 103f22868f57cb..83772aecf5eae9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java @@ -81,7 +81,7 @@ public void prepareJSRuntime(JSDebuggerCallback callback) { } } - public void loadApplicationScript( + public void loadBundle( String sourceURL, HashMap injectedObjects, JSDebuggerCallback callback) { int requestID = mRequestID.getAndIncrement(); mCallbacks.put(requestID, callback); diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java index b045cf69f48b04..e993205ee7f998 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java @@ -153,10 +153,9 @@ public void close() { } @Override - public void loadApplicationScript(String sourceURL) throws JavaJSExecutor.ProxyExecutorException { + public void loadBundle(String sourceURL) throws JavaJSExecutor.ProxyExecutorException { JSExecutorCallbackFuture callback = new JSExecutorCallbackFuture(); - Assertions.assertNotNull(mWebSocketClient) - .loadApplicationScript(sourceURL, mInjectedObjects, callback); + Assertions.assertNotNull(mWebSocketClient).loadBundle(sourceURL, mInjectedObjects, callback); try { callback.get(); } catch (Throwable cause) { @@ -178,7 +177,7 @@ public void loadApplicationScript(String sourceURL) throws JavaJSExecutor.ProxyE @Override public void setGlobalVariable(String propertyName, String jsonEncodedValue) { - // Store and use in the next loadApplicationScript() call. + // Store and use in the next loadBundle() call. mInjectedObjects.put(propertyName, jsonEncodedValue); } } diff --git a/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp b/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp index 43914cadd2f48c..17e324d115456b 100644 --- a/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +++ b/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp @@ -53,9 +53,7 @@ ProxyExecutor::~ProxyExecutor() { m_executor.reset(); } -void ProxyExecutor::loadApplicationScript( - std::unique_ptr, - std::string sourceURL) { +void ProxyExecutor::initializeRuntime() { folly::dynamic nativeModuleConfig = folly::dynamic::array; { @@ -76,14 +74,17 @@ void ProxyExecutor::loadApplicationScript( "__fbBatchedBridgeConfig", std::make_unique(folly::toJson(config))); } +} - static auto loadApplicationScript = - jni::findClassStatic(EXECUTOR_BASECLASS) - ->getMethod("loadApplicationScript"); +void ProxyExecutor::loadBundle( + std::unique_ptr, + std::string sourceURL) { + static auto loadBundle = jni::findClassStatic(EXECUTOR_BASECLASS) + ->getMethod("loadBundle"); // The proxy ignores the script data passed in. - loadApplicationScript(m_executor.get(), jni::make_jstring(sourceURL).get()); + loadBundle(m_executor.get(), jni::make_jstring(sourceURL).get()); // We can get pending calls here to native but the queue will be drained when // we launch the application. } diff --git a/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h b/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h index fa1c12634fcfbd..c9eab4170d41f4 100644 --- a/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +++ b/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h @@ -37,7 +37,8 @@ class ProxyExecutor : public JSExecutor { jni::global_ref &&executorInstance, std::shared_ptr delegate); virtual ~ProxyExecutor() override; - virtual void loadApplicationScript( + virtual void initializeRuntime() override; + virtual void loadBundle( std::unique_ptr script, std::string sourceURL) override; virtual void setBundleRegistry( diff --git a/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java b/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java index 3a341c7136880e..0c6bbde0e8bdd0 100644 --- a/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +++ b/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java @@ -40,7 +40,7 @@ public void test_prepareJSRuntime_ShouldSendCorrectMessage() throws Exception { } @Test - public void test_loadApplicationScript_ShouldSendCorrectMessage() throws Exception { + public void test_loadBundle_ShouldSendCorrectMessage() throws Exception { final JSDebuggerWebSocketClient.JSDebuggerCallback cb = PowerMockito.mock(JSDebuggerWebSocketClient.JSDebuggerCallback.class); @@ -49,7 +49,7 @@ public void test_loadApplicationScript_ShouldSendCorrectMessage() throws Excepti injectedObjects.put("key1", "value1"); injectedObjects.put("key2", "value2"); - client.loadApplicationScript("http://localhost:8080/index.js", injectedObjects, cb); + client.loadBundle("http://localhost:8080/index.js", injectedObjects, cb); PowerMockito.verifyPrivate(client) .invoke( "sendMessage", diff --git a/ReactCommon/cxxreact/Instance.cpp b/ReactCommon/cxxreact/Instance.cpp index de1a1201e8c15d..6643b83a617865 100644 --- a/ReactCommon/cxxreact/Instance.cpp +++ b/ReactCommon/cxxreact/Instance.cpp @@ -50,6 +50,8 @@ void Instance::initializeBridge( nativeToJsBridge_ = std::make_shared( jsef.get(), moduleRegistry_, jsQueue, callback_); + nativeToJsBridge_->initializeRuntime(); + /** * After NativeToJsBridge is created, the jsi::Runtime should exist. * Also, the JS message queue thread exists. So, it's safe to @@ -65,25 +67,25 @@ void Instance::initializeBridge( CHECK(nativeToJsBridge_); } -void Instance::loadApplication( +void Instance::loadBundle( std::unique_ptr bundleRegistry, std::unique_ptr string, std::string sourceURL) { callback_->incrementPendingJSCalls(); - SystraceSection s("Instance::loadApplication", "sourceURL", sourceURL); - nativeToJsBridge_->loadApplication( + SystraceSection s("Instance::loadBundle", "sourceURL", sourceURL); + nativeToJsBridge_->loadBundle( std::move(bundleRegistry), std::move(string), std::move(sourceURL)); } -void Instance::loadApplicationSync( +void Instance::loadBundleSync( std::unique_ptr bundleRegistry, std::unique_ptr string, std::string sourceURL) { std::unique_lock lock(m_syncMutex); m_syncCV.wait(lock, [this] { return m_syncReady; }); - SystraceSection s("Instance::loadApplicationSync", "sourceURL", sourceURL); - nativeToJsBridge_->loadApplicationSync( + SystraceSection s("Instance::loadBundleSync", "sourceURL", sourceURL); + nativeToJsBridge_->loadBundleSync( std::move(bundleRegistry), std::move(string), std::move(sourceURL)); } @@ -91,7 +93,7 @@ void Instance::setSourceURL(std::string sourceURL) { callback_->incrementPendingJSCalls(); SystraceSection s("Instance::setSourceURL", "sourceURL", sourceURL); - nativeToJsBridge_->loadApplication(nullptr, nullptr, std::move(sourceURL)); + nativeToJsBridge_->loadBundle(nullptr, nullptr, std::move(sourceURL)); } void Instance::loadScriptFromString( @@ -100,9 +102,9 @@ void Instance::loadScriptFromString( bool loadSynchronously) { SystraceSection s("Instance::loadScriptFromString", "sourceURL", sourceURL); if (loadSynchronously) { - loadApplicationSync(nullptr, std::move(string), std::move(sourceURL)); + loadBundleSync(nullptr, std::move(string), std::move(sourceURL)); } else { - loadApplication(nullptr, std::move(string), std::move(sourceURL)); + loadBundle(nullptr, std::move(string), std::move(sourceURL)); } } @@ -158,12 +160,12 @@ void Instance::loadRAMBundle( std::string startupScriptSourceURL, bool loadSynchronously) { if (loadSynchronously) { - loadApplicationSync( + loadBundleSync( std::move(bundleRegistry), std::move(startupScript), std::move(startupScriptSourceURL)); } else { - loadApplication( + loadBundle( std::move(bundleRegistry), std::move(startupScript), std::move(startupScriptSourceURL)); diff --git a/ReactCommon/cxxreact/Instance.h b/ReactCommon/cxxreact/Instance.h index fdafd0a1f36e23..0d5bacb5360243 100644 --- a/ReactCommon/cxxreact/Instance.h +++ b/ReactCommon/cxxreact/Instance.h @@ -47,6 +47,8 @@ class RN_EXPORT Instance { std::shared_ptr jsQueue, std::shared_ptr moduleRegistry); + void initializeRuntime(); + void setSourceURL(std::string sourceURL); void loadScriptFromString( @@ -129,11 +131,11 @@ class RN_EXPORT Instance { private: void callNativeModules(folly::dynamic &&calls, bool isEndOfBatch); - void loadApplication( + void loadBundle( std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL); - void loadApplicationSync( + void loadBundleSync( std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL); diff --git a/ReactCommon/cxxreact/JSExecutor.h b/ReactCommon/cxxreact/JSExecutor.h index ab54642d9992fe..b3b29d1b326503 100644 --- a/ReactCommon/cxxreact/JSExecutor.h +++ b/ReactCommon/cxxreact/JSExecutor.h @@ -59,10 +59,15 @@ class JSExecutorFactory { class RN_EXPORT JSExecutor { public: + /** + * Prepares the JS runtime for React Native by installing global variables. + * Called once before any JS is evaluated. + */ + virtual void initializeRuntime() = 0; /** * Execute an application script bundle in the JS context. */ - virtual void loadApplicationScript( + virtual void loadBundle( std::unique_ptr script, std::string sourceURL) = 0; diff --git a/ReactCommon/cxxreact/NativeToJsBridge.cpp b/ReactCommon/cxxreact/NativeToJsBridge.cpp index 5f44c274977f98..4d31ef058a17ad 100644 --- a/ReactCommon/cxxreact/NativeToJsBridge.cpp +++ b/ReactCommon/cxxreact/NativeToJsBridge.cpp @@ -114,7 +114,12 @@ NativeToJsBridge::~NativeToJsBridge() { << "NativeToJsBridge::destroy() must be called before deallocating the NativeToJsBridge!"; } -void NativeToJsBridge::loadApplication( +void NativeToJsBridge::initializeRuntime() { + runOnExecutorQueue( + [](JSExecutor *executor) mutable { executor->initializeRuntime(); }); +} + +void NativeToJsBridge::loadBundle( std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL) { @@ -129,7 +134,7 @@ void NativeToJsBridge::loadApplication( executor->setBundleRegistry(std::move(bundleRegistry)); } try { - executor->loadApplicationScript( + executor->loadBundle( std::move(*startupScript), std::move(startupScriptSourceURL)); } catch (...) { m_applicationScriptHasFailure = true; @@ -138,7 +143,7 @@ void NativeToJsBridge::loadApplication( }); } -void NativeToJsBridge::loadApplicationSync( +void NativeToJsBridge::loadBundleSync( std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL) { @@ -146,7 +151,7 @@ void NativeToJsBridge::loadApplicationSync( m_executor->setBundleRegistry(std::move(bundleRegistry)); } try { - m_executor->loadApplicationScript( + m_executor->loadBundle( std::move(startupScript), std::move(startupScriptSourceURL)); } catch (...) { m_applicationScriptHasFailure = true; diff --git a/ReactCommon/cxxreact/NativeToJsBridge.h b/ReactCommon/cxxreact/NativeToJsBridge.h index 44fc65f24ea091..9cc9176b093bca 100644 --- a/ReactCommon/cxxreact/NativeToJsBridge.h +++ b/ReactCommon/cxxreact/NativeToJsBridge.h @@ -32,7 +32,7 @@ class RAMBundleRegistry; // executors and their threads. All functions here can be called from // any thread. // -// Except for loadApplicationScriptSync(), all void methods will queue +// Except for loadBundleSync(), all void methods will queue // work to run on the jsQueue passed to the ctor, and return // immediately. class NativeToJsBridge { @@ -63,16 +63,21 @@ class NativeToJsBridge { */ void invokeCallback(double callbackId, folly::dynamic &&args); + /** + * Sets global variables in the JS Context. + */ + void initializeRuntime(); + /** * Starts the JS application. If bundleRegistry is non-null, then it is * used to fetch JavaScript modules as individual scripts. * Otherwise, the script is assumed to include all the modules. */ - void loadApplication( + void loadBundle( std::unique_ptr bundleRegistry, std::unique_ptr startupCode, std::string sourceURL); - void loadApplicationSync( + void loadBundleSync( std::unique_ptr bundleRegistry, std::unique_ptr startupCode, std::string sourceURL); diff --git a/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp b/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp index 1ad8474d9086de..ae0e9e5aa0fe0c 100644 --- a/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +++ b/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp @@ -78,13 +78,8 @@ JSIExecutor::JSIExecutor( *runtime, "__jsiExecutorDescription", runtime->description()); } -void JSIExecutor::loadApplicationScript( - std::unique_ptr script, - std::string sourceURL) { - SystraceSection s("JSIExecutor::loadApplicationScript"); - - // TODO: check for and use precompiled HBC - +void JSIExecutor::initializeRuntime() { + SystraceSection s("JSIExecutor::initializeRuntime"); runtime_->global().setProperty( *runtime_, "nativeModuleProxy", @@ -148,6 +143,19 @@ void JSIExecutor::loadApplicationScript( NotifyRuntimeInitializationEnd(); #endif // TARGET_OS_MAC + bool hasLogger(ReactMarker::logTaggedMarker); + if (hasLogger) { + ReactMarker::logMarker(ReactMarker::CREATE_REACT_CONTEXT_STOP); + } +} + +void JSIExecutor::loadBundle( + std::unique_ptr script, + std::string sourceURL) { + SystraceSection s("JSIExecutor::loadBundle"); + + // TODO: check for and use precompiled HBC + bool hasLogger(ReactMarker::logTaggedMarker); std::string scriptName = simpleBasename(sourceURL); if (hasLogger) { @@ -158,7 +166,6 @@ void JSIExecutor::loadApplicationScript( std::make_unique(std::move(script)), sourceURL); flush(); if (hasLogger) { - ReactMarker::logMarker(ReactMarker::CREATE_REACT_CONTEXT_STOP); ReactMarker::logTaggedMarker( ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str()); } diff --git a/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h b/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h index 5f26660ce1148e..2cd3776baf52a2 100644 --- a/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +++ b/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h @@ -77,7 +77,8 @@ class JSIExecutor : public JSExecutor { std::shared_ptr delegate, const JSIScopedTimeoutInvoker &timeoutInvoker, RuntimeInstaller runtimeInstaller); - void loadApplicationScript( + void initializeRuntime() override; + void loadBundle( std::unique_ptr script, std::string sourceURL) override; void setBundleRegistry(std::unique_ptr) override; diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index d97a6d5ec99228..88a30720409df1 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -66,17 +66,17 @@ def use_react_native! (options={}) if hermes_enabled pod 'React-Core/Hermes', :path => "#{prefix}/" pod 'hermes', :path => hermes_engine_prefix - pod 'libevent', '~> 2.1.12' + pod 'libevent', :podspec => "#{prefix}/third-party-podspecs/libevent.podspec" end end def use_flipper!(versions = {}, configurations: ['Debug']) - versions['Flipper'] ||= '~> 0.75.1' + versions['Flipper'] ||= '~> 0.54.0' versions['Flipper-DoubleConversion'] ||= '1.1.7' - versions['Flipper-Folly'] ||= '~> 2.5' + versions['Flipper-Folly'] ||= '~> 2.2' versions['Flipper-Glog'] ||= '0.3.6' versions['Flipper-PeerTalk'] ||= '~> 0.0.4' - versions['Flipper-RSocket'] ||= '~> 1.3' + versions['Flipper-RSocket'] ||= '~> 1.1' pod 'FlipperKit', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configurations => configurations pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configurations => configurations diff --git a/template/android/gradle.properties b/template/android/gradle.properties index d21d03f2b414a0..3bdbd3d4e90ec3 100644 --- a/template/android/gradle.properties +++ b/template/android/gradle.properties @@ -25,4 +25,4 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.75.1 +FLIPPER_VERSION=0.54.0 From cd03ec26b2b4970ce481531ef0906fef7fa180a2 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 11 Jun 2021 15:33:51 -0500 Subject: [PATCH 2/8] Disable flipper again --- RNTester/Podfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RNTester/Podfile b/RNTester/Podfile index 52f79d8b5502be..6cf40f7c6ab69a 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -34,7 +34,7 @@ end target 'RNTester' do pods() - use_flipper! + # use_flipper! # TODO: GH#774 disable flipper end target 'RNTesterUnitTests' do @@ -82,7 +82,7 @@ end # ]TODO(macOS ISS#2323203) post_install do |installer| - flipper_post_install(installer) + # flipper_post_install(installer) # TODO: GH#774 disable flipper installer.pods_project.targets.each do |target| # [TODO(macOS ISS#2323203): the internal Microsoft build pipeline needs iOS arm64e slices if target.platform_name == :ios From b159b2b2fd489527340b072f0dad8fe3200e174c Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 11 Jun 2021 16:53:05 -0500 Subject: [PATCH 3/8] Update podfile --- RNTester/Podfile.lock | 104 +----------------- .../RNTesterPods.xcodeproj/project.pbxproj | 18 --- 2 files changed, 1 insertion(+), 121 deletions(-) diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index 4a5662c9eaf3f6..1561a4eb24de5c 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -1,6 +1,5 @@ PODS: - boost-for-react-native (1.63.0) - - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - FBLazyVector (0.63.33) - FBReactNativeSpec (0.63.33): @@ -10,58 +9,7 @@ PODS: - React-Core (= 0.63.33) - React-jsi (= 0.63.33) - ReactCommon/turbomodule/core (= 0.63.33) - - Flipper (0.54.0): - - Flipper-Folly (~> 2.2) - - Flipper-RSocket (~> 1.1) - - Flipper-Boost-iOSX (1.76.0.1.11) - - Flipper-DoubleConversion (1.1.7) - - Flipper-Fmt (7.1.7) - - Flipper-Folly (2.6.7): - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt (= 7.1.7) - - Flipper-Glog - - libevent (~> 2.1.12) - - OpenSSL-Universal (= 1.1.180) - - Flipper-Glog (0.3.6) - - Flipper-PeerTalk (0.0.4) - - Flipper-RSocket (1.4.3): - - Flipper-Folly (~> 2.6) - - FlipperKit (0.54.0): - - FlipperKit/Core (= 0.54.0) - - FlipperKit/Core (0.54.0): - - Flipper (~> 0.54.0) - - FlipperKit/CppBridge - - FlipperKit/FBCxxFollyDynamicConvert - - FlipperKit/FBDefines - - FlipperKit/FKPortForwarding - - FlipperKit/CppBridge (0.54.0): - - Flipper (~> 0.54.0) - - FlipperKit/FBCxxFollyDynamicConvert (0.54.0): - - Flipper-Folly (~> 2.2) - - FlipperKit/FBDefines (0.54.0) - - FlipperKit/FKPortForwarding (0.54.0): - - CocoaAsyncSocket (~> 7.6) - - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.54.0) - - FlipperKit/FlipperKitLayoutPlugin (0.54.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutTextSearchable - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.54.0) - - FlipperKit/FlipperKitNetworkPlugin (0.54.0): - - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.54.0): - - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.54.0): - - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.54.0): - - FlipperKit/Core - - FlipperKit/FlipperKitNetworkPlugin - glog (0.3.5) - - libevent (2.1.12) - - OpenSSL-Universal (1.1.180) - RCT-Folly (2020.01.13.00): - boost-for-react-native - DoubleConversion @@ -349,33 +297,12 @@ PODS: - React-jsi (= 0.63.33) - ReactCommon/turbomodule/core (= 0.63.33) - Yoga (1.14.0) - - YogaKit (1.18.1): - - Yoga (~> 1.14) DEPENDENCIES: - boost-for-react-native (from `../third-party-podspecs/boost-for-react-native.podspec`) - DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../Libraries/FBLazyVector`) - FBReactNativeSpec (from `../Libraries/FBReactNativeSpec`) - - Flipper (~> 0.54.0) - - Flipper-DoubleConversion (= 1.1.7) - - Flipper-Folly (~> 2.2) - - Flipper-Glog (= 0.3.6) - - Flipper-PeerTalk (~> 0.0.4) - - Flipper-RSocket (~> 1.1) - - FlipperKit (~> 0.54.0) - - FlipperKit/Core (~> 0.54.0) - - FlipperKit/CppBridge (~> 0.54.0) - - FlipperKit/FBCxxFollyDynamicConvert (~> 0.54.0) - - FlipperKit/FBDefines (~> 0.54.0) - - FlipperKit/FKPortForwarding (~> 0.54.0) - - FlipperKit/FlipperKitHighlightOverlay (~> 0.54.0) - - FlipperKit/FlipperKitLayoutPlugin (~> 0.54.0) - - FlipperKit/FlipperKitLayoutTextSearchable (~> 0.54.0) - - FlipperKit/FlipperKitNetworkPlugin (~> 0.54.0) - - FlipperKit/FlipperKitReactPlugin (~> 0.54.0) - - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.54.0) - - FlipperKit/SKIOSNetworkPlugin (~> 0.54.0) - glog (from `../third-party-podspecs/glog.podspec`) - RCT-Folly (from `../third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../Libraries/RCTRequired`) @@ -408,22 +335,6 @@ DEPENDENCIES: - ReactCommon/turbomodule/samples (from `../ReactCommon`) - Yoga (from `../ReactCommon/yoga`) -SPEC REPOS: - trunk: - - CocoaAsyncSocket - - Flipper - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt - - Flipper-Folly - - Flipper-Glog - - Flipper-PeerTalk - - Flipper-RSocket - - FlipperKit - - libevent - - OpenSSL-Universal - - YogaKit - EXTERNAL SOURCES: boost-for-react-native: :podspec: "../third-party-podspecs/boost-for-react-native.podspec" @@ -492,22 +403,10 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost-for-react-native: dabda8622e76020607c2ae1e65cc0cda8b61479d - CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 56a44bcfd14ab2ff66f5a146b2e875eb4b69b19b FBLazyVector: 462de4c12a5e12deaee114d2341679c6abde70e2 FBReactNativeSpec: 8c128e7e95ec6907abcb1497208d81590ccba7e1 - Flipper: be611d4b742d8c87fbae2ca5f44603a02539e365 - Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 - Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b - Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a - Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 - Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 - FlipperKit: ab353d41aea8aae2ea6daaf813e67496642f3d7d glog: 1cb7c408c781ae8f35bbababe459b45e3dee4ec1 - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b RCT-Folly: 1347093ffe75e152d846f7e45a3ef901b60021aa RCTRequired: c08f4fda746d91ad9e6bd6c9b53a4fcf87c04bcc RCTTypeSafety: 2d3a98340d0d16b7dd431934fa965926cd9e1750 @@ -535,8 +434,7 @@ SPEC CHECKSUMS: React-TurboModuleCxx-WinRTPort: 7c91de3a7071e9a528fd979cc536d68edd45331a ReactCommon: da0330d5196a7d9c7adc3d2d371fcb1b0930ba6b Yoga: ce9a881f81d3176fe76d841426d9654b8b629f18 - YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 5778caa6b51e058eeab6b9d1c539074c087ef830 +PODFILE CHECKSUM: dbdccdd110aedfbfec53a1685103e6291c57a217 COCOAPODS: 1.10.1 diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 30af8fdfa915a8..2a66c72ddd95bb 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -676,7 +676,6 @@ 68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */, 5CF0FD27207FC6EC00C13D65 /* Start Metro */, 8BA2D8960038381F0B753726 /* [CP] Copy Pods Resources */, - CC0BABA908437A55DBA896A9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1251,23 +1250,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - CC0BABA908437A55DBA896A9 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; D3E745B9771EC6F02AC52196 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; From d9d3156d68073efc24fe093ecf3e88ef1fc5b877 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 11 Jun 2021 17:21:37 -0500 Subject: [PATCH 4/8] Keep Flipper new --- RNTester/android/app/gradle.properties | 2 +- scripts/react_native_pods.rb | 8 ++++---- template/android/gradle.properties | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RNTester/android/app/gradle.properties b/RNTester/android/app/gradle.properties index 62c23ba112a5fd..b0981309153aec 100644 --- a/RNTester/android/app/gradle.properties +++ b/RNTester/android/app/gradle.properties @@ -9,4 +9,4 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.54.0 +FLIPPER_VERSION=0.75.1 diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index 88a30720409df1..d97a6d5ec99228 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -66,17 +66,17 @@ def use_react_native! (options={}) if hermes_enabled pod 'React-Core/Hermes', :path => "#{prefix}/" pod 'hermes', :path => hermes_engine_prefix - pod 'libevent', :podspec => "#{prefix}/third-party-podspecs/libevent.podspec" + pod 'libevent', '~> 2.1.12' end end def use_flipper!(versions = {}, configurations: ['Debug']) - versions['Flipper'] ||= '~> 0.54.0' + versions['Flipper'] ||= '~> 0.75.1' versions['Flipper-DoubleConversion'] ||= '1.1.7' - versions['Flipper-Folly'] ||= '~> 2.2' + versions['Flipper-Folly'] ||= '~> 2.5' versions['Flipper-Glog'] ||= '0.3.6' versions['Flipper-PeerTalk'] ||= '~> 0.0.4' - versions['Flipper-RSocket'] ||= '~> 1.1' + versions['Flipper-RSocket'] ||= '~> 1.3' pod 'FlipperKit', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configurations => configurations pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configurations => configurations diff --git a/template/android/gradle.properties b/template/android/gradle.properties index 3bdbd3d4e90ec3..d21d03f2b414a0 100644 --- a/template/android/gradle.properties +++ b/template/android/gradle.properties @@ -25,4 +25,4 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.54.0 +FLIPPER_VERSION=0.75.1 From f9e067ef4a723ab900a5854beaab3eb3344b70f1 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 11 Jun 2021 17:51:18 -0500 Subject: [PATCH 5/8] Enable flipper again --- RNTester/Podfile | 4 +- RNTester/Podfile.lock | 104 +++++++++++++++++- .../RNTesterPods.xcodeproj/project.pbxproj | 18 +++ 3 files changed, 123 insertions(+), 3 deletions(-) diff --git a/RNTester/Podfile b/RNTester/Podfile index 6cf40f7c6ab69a..52f79d8b5502be 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -34,7 +34,7 @@ end target 'RNTester' do pods() - # use_flipper! # TODO: GH#774 disable flipper + use_flipper! end target 'RNTesterUnitTests' do @@ -82,7 +82,7 @@ end # ]TODO(macOS ISS#2323203) post_install do |installer| - # flipper_post_install(installer) # TODO: GH#774 disable flipper + flipper_post_install(installer) installer.pods_project.targets.each do |target| # [TODO(macOS ISS#2323203): the internal Microsoft build pipeline needs iOS arm64e slices if target.platform_name == :ios diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index 1561a4eb24de5c..f6d87915f9bc2c 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -1,5 +1,6 @@ PODS: - boost-for-react-native (1.63.0) + - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - FBLazyVector (0.63.33) - FBReactNativeSpec (0.63.33): @@ -9,7 +10,58 @@ PODS: - React-Core (= 0.63.33) - React-jsi (= 0.63.33) - ReactCommon/turbomodule/core (= 0.63.33) + - Flipper (0.75.1): + - Flipper-Folly (~> 2.5) + - Flipper-RSocket (~> 1.3) + - Flipper-Boost-iOSX (1.76.0.1.11) + - Flipper-DoubleConversion (1.1.7) + - Flipper-Fmt (7.1.7) + - Flipper-Folly (2.6.7): + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt (= 7.1.7) + - Flipper-Glog + - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.180) + - Flipper-Glog (0.3.6) + - Flipper-PeerTalk (0.0.4) + - Flipper-RSocket (1.4.3): + - Flipper-Folly (~> 2.6) + - FlipperKit (0.75.1): + - FlipperKit/Core (= 0.75.1) + - FlipperKit/Core (0.75.1): + - Flipper (~> 0.75.1) + - FlipperKit/CppBridge + - FlipperKit/FBCxxFollyDynamicConvert + - FlipperKit/FBDefines + - FlipperKit/FKPortForwarding + - FlipperKit/CppBridge (0.75.1): + - Flipper (~> 0.75.1) + - FlipperKit/FBCxxFollyDynamicConvert (0.75.1): + - Flipper-Folly (~> 2.5) + - FlipperKit/FBDefines (0.75.1) + - FlipperKit/FKPortForwarding (0.75.1): + - CocoaAsyncSocket (~> 7.6) + - Flipper-PeerTalk (~> 0.0.4) + - FlipperKit/FlipperKitHighlightOverlay (0.75.1) + - FlipperKit/FlipperKitLayoutPlugin (0.75.1): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutTextSearchable + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutTextSearchable (0.75.1) + - FlipperKit/FlipperKitNetworkPlugin (0.75.1): + - FlipperKit/Core + - FlipperKit/FlipperKitReactPlugin (0.75.1): + - FlipperKit/Core + - FlipperKit/FlipperKitUserDefaultsPlugin (0.75.1): + - FlipperKit/Core + - FlipperKit/SKIOSNetworkPlugin (0.75.1): + - FlipperKit/Core + - FlipperKit/FlipperKitNetworkPlugin - glog (0.3.5) + - libevent (2.1.12) + - OpenSSL-Universal (1.1.180) - RCT-Folly (2020.01.13.00): - boost-for-react-native - DoubleConversion @@ -297,12 +349,33 @@ PODS: - React-jsi (= 0.63.33) - ReactCommon/turbomodule/core (= 0.63.33) - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) DEPENDENCIES: - boost-for-react-native (from `../third-party-podspecs/boost-for-react-native.podspec`) - DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../Libraries/FBLazyVector`) - FBReactNativeSpec (from `../Libraries/FBReactNativeSpec`) + - Flipper (~> 0.75.1) + - Flipper-DoubleConversion (= 1.1.7) + - Flipper-Folly (~> 2.5) + - Flipper-Glog (= 0.3.6) + - Flipper-PeerTalk (~> 0.0.4) + - Flipper-RSocket (~> 1.3) + - FlipperKit (~> 0.75.1) + - FlipperKit/Core (~> 0.75.1) + - FlipperKit/CppBridge (~> 0.75.1) + - FlipperKit/FBCxxFollyDynamicConvert (~> 0.75.1) + - FlipperKit/FBDefines (~> 0.75.1) + - FlipperKit/FKPortForwarding (~> 0.75.1) + - FlipperKit/FlipperKitHighlightOverlay (~> 0.75.1) + - FlipperKit/FlipperKitLayoutPlugin (~> 0.75.1) + - FlipperKit/FlipperKitLayoutTextSearchable (~> 0.75.1) + - FlipperKit/FlipperKitNetworkPlugin (~> 0.75.1) + - FlipperKit/FlipperKitReactPlugin (~> 0.75.1) + - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.75.1) + - FlipperKit/SKIOSNetworkPlugin (~> 0.75.1) - glog (from `../third-party-podspecs/glog.podspec`) - RCT-Folly (from `../third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../Libraries/RCTRequired`) @@ -335,6 +408,22 @@ DEPENDENCIES: - ReactCommon/turbomodule/samples (from `../ReactCommon`) - Yoga (from `../ReactCommon/yoga`) +SPEC REPOS: + trunk: + - CocoaAsyncSocket + - Flipper + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt + - Flipper-Folly + - Flipper-Glog + - Flipper-PeerTalk + - Flipper-RSocket + - FlipperKit + - libevent + - OpenSSL-Universal + - YogaKit + EXTERNAL SOURCES: boost-for-react-native: :podspec: "../third-party-podspecs/boost-for-react-native.podspec" @@ -403,10 +492,22 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost-for-react-native: dabda8622e76020607c2ae1e65cc0cda8b61479d + CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 56a44bcfd14ab2ff66f5a146b2e875eb4b69b19b FBLazyVector: 462de4c12a5e12deaee114d2341679c6abde70e2 FBReactNativeSpec: 8c128e7e95ec6907abcb1497208d81590ccba7e1 + Flipper: d3da1aa199aad94455ae725e9f3aa43f3ec17021 + Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c + Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 + Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b + Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a + Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 + Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 + Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 + FlipperKit: 8a20b5c5fcf9436cac58551dc049867247f64b00 glog: 1cb7c408c781ae8f35bbababe459b45e3dee4ec1 + libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b RCT-Folly: 1347093ffe75e152d846f7e45a3ef901b60021aa RCTRequired: c08f4fda746d91ad9e6bd6c9b53a4fcf87c04bcc RCTTypeSafety: 2d3a98340d0d16b7dd431934fa965926cd9e1750 @@ -434,7 +535,8 @@ SPEC CHECKSUMS: React-TurboModuleCxx-WinRTPort: 7c91de3a7071e9a528fd979cc536d68edd45331a ReactCommon: da0330d5196a7d9c7adc3d2d371fcb1b0930ba6b Yoga: ce9a881f81d3176fe76d841426d9654b8b629f18 + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: dbdccdd110aedfbfec53a1685103e6291c57a217 +PODFILE CHECKSUM: a768e12b666c8ea2642aea82c4ab6dacfbc6faf3 COCOAPODS: 1.10.1 diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 2a66c72ddd95bb..08c4b114abf0c6 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -676,6 +676,7 @@ 68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */, 5CF0FD27207FC6EC00C13D65 /* Start Metro */, 8BA2D8960038381F0B753726 /* [CP] Copy Pods Resources */, + 67E22D011D0A8DBCB8C506A9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1109,6 +1110,23 @@ shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; showEnvVarsInLog = 0; }; + 67E22D011D0A8DBCB8C506A9 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; From e3bd16fe96ae9c7ad3ad8eb2ba7ecab7f1ba2d69 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 11 Jun 2021 17:55:11 -0500 Subject: [PATCH 6/8] update podfile lock --- RNTester/Podfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index f6d87915f9bc2c..2d9aecbf822ce4 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -537,6 +537,6 @@ SPEC CHECKSUMS: Yoga: ce9a881f81d3176fe76d841426d9654b8b629f18 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: a768e12b666c8ea2642aea82c4ab6dacfbc6faf3 +PODFILE CHECKSUM: 5778caa6b51e058eeab6b9d1c539074c087ef830 COCOAPODS: 1.10.1 From e90fe4e68d487ebdb0084fa43e1c28ffbba6c09b Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 11 Jun 2021 18:59:59 -0500 Subject: [PATCH 7/8] Update podfile and revert some pbxproj stuff --- RNTester/Podfile | 4 ++-- .../RNTesterPods.xcodeproj/project.pbxproj | 19 +++++-------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/RNTester/Podfile b/RNTester/Podfile index 52f79d8b5502be..6cf40f7c6ab69a 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -34,7 +34,7 @@ end target 'RNTester' do pods() - use_flipper! + # use_flipper! # TODO: GH#774 disable flipper end target 'RNTesterUnitTests' do @@ -82,7 +82,7 @@ end # ]TODO(macOS ISS#2323203) post_install do |installer| - flipper_post_install(installer) + # flipper_post_install(installer) # TODO: GH#774 disable flipper installer.pods_project.targets.each do |target| # [TODO(macOS ISS#2323203): the internal Microsoft build pipeline needs iOS arm64e slices if target.platform_name == :ios diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 08c4b114abf0c6..c3953fa73d8117 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -1533,10 +1533,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CODE_SIGN_ENTITLEMENTS = RNTester/RNTester.entitlements; DEVELOPMENT_TEAM = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FB_SONARKIT_ENABLED=1", - ); + GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$(SRCROOT)/RNTester/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1553,10 +1550,7 @@ "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)", ); - OTHER_CFLAGS = ( - "$(inherited)", - "-DFB_SONARKIT_ENABLED=1", - ); + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -1564,7 +1558,7 @@ "-framework", "\"JavaScriptCore\"", ); - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; PRODUCT_NAME = RNTester; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1590,10 +1584,7 @@ "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)", ); - OTHER_CFLAGS = ( - "$(inherited)", - "-DFB_SONARKIT_ENABLED=1", - ); + OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -1601,7 +1592,7 @@ "-framework", "\"JavaScriptCore\"", ); - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; PRODUCT_NAME = RNTester; TARGETED_DEVICE_FAMILY = "1,2"; From 22516c07f60b37d5f32cf8d39e8e84c15b2b21c9 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Fri, 11 Jun 2021 19:01:16 -0500 Subject: [PATCH 8/8] more reverts --- .../RNTesterPods.xcodeproj/project.pbxproj | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index c3953fa73d8117..88f87933b71bc2 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -676,7 +676,6 @@ 68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */, 5CF0FD27207FC6EC00C13D65 /* Start Metro */, 8BA2D8960038381F0B753726 /* [CP] Copy Pods Resources */, - 67E22D011D0A8DBCB8C506A9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -1110,23 +1109,6 @@ shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; showEnvVarsInLog = 0; }; - 67E22D011D0A8DBCB8C506A9 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647;