Skip to content

Commit ef77087

Browse files
javachefacebook-github-bot
authored andcommitted
Fix duplication across and rncore and FBReactNativeComponentSpec (#43385)
Summary: Pull Request resolved: #43385 `rncore` and `FBReactNativeComponentSpec` contain the same symbols, which leads to conflicts when we try to merge them into a single shared library. Cleanup the duplication and standardize on `FBReactNativeComponentSpec` everywhere. I've left the Android OSS targets as is, to avoid breaking deps. Changelog: [Internal] Reviewed By: cortinico, dmytrorykun Differential Revision: D54630694 fbshipit-source-id: 75cb961ded9fd75508755c0530e29409fef801cf
1 parent d53cc2b commit ef77087

File tree

27 files changed

+169
-84
lines changed

27 files changed

+169
-84
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ vendor/
127127
/packages/react-native/React/FBReactNativeSpec/FBReactNativeSpec
128128
/packages/react-native-codegen/lib
129129
/packages/react-native-codegen/tmp/
130+
/packages/react-native/ReactCommon/react/renderer/components/FBReactNativeComponentSpec/
130131
/packages/react-native/ReactCommon/react/renderer/components/rncore/
131132
/packages/rn-tester/NativeModuleExample/ScreenshotManagerSpec*
132133
/**/RCTThirdPartyFabricComponentsProvider.*

packages/react-native-codegen/src/generators/modules/GenerateModuleJniH.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ std::shared_ptr<TurboModule> ${libraryName}_ModuleProvider(const std::string &mo
6363
// Note: this CMakeLists.txt template includes dependencies for both NativeModule and components.
6464
const CMakeListsTemplate = ({
6565
libraryName,
66-
}: $ReadOnly<{libraryName: string}>) => {
66+
targetName,
67+
}: $ReadOnly<{libraryName: string, targetName: string}>) => {
6768
return `# Copyright (c) Meta Platforms, Inc. and affiliates.
6869
#
6970
# This source code is licensed under the MIT license found in the
@@ -75,20 +76,20 @@ set(CMAKE_VERBOSE_MAKEFILE on)
7576
file(GLOB react_codegen_SRCS CONFIGURE_DEPENDS *.cpp react/renderer/components/${libraryName}/*.cpp)
7677
7778
add_library(
78-
react_codegen_${libraryName}
79+
react_codegen_${targetName}
7980
SHARED
8081
\${react_codegen_SRCS}
8182
)
8283
83-
target_include_directories(react_codegen_${libraryName} PUBLIC . react/renderer/components/${libraryName})
84+
target_include_directories(react_codegen_${targetName} PUBLIC . react/renderer/components/${libraryName})
8485
8586
target_link_libraries(
86-
react_codegen_${libraryName}
87+
react_codegen_${targetName}
8788
fbjni
8889
folly_runtime
8990
glog
9091
jsi
91-
${libraryName !== 'rncore' ? 'react_codegen_rncore' : ''}
92+
${targetName !== 'rncore' ? 'react_codegen_rncore' : ''}
9293
react_debug
9394
react_nativemodule_core
9495
react_render_componentregistry
@@ -105,7 +106,7 @@ target_link_libraries(
105106
)
106107
107108
target_compile_options(
108-
react_codegen_${libraryName}
109+
react_codegen_${targetName}
109110
PRIVATE
110111
-DLOG_TAG=\\"ReactNative\\"
111112
-fexceptions
@@ -142,9 +143,12 @@ module.exports = {
142143
modules: modules,
143144
libraryName: libraryName.replace(/-/g, '_'),
144145
});
146+
// Use rncore as target name for backwards compat
147+
const targetName =
148+
libraryName === 'FBReactNativeComponentSpec' ? 'rncore' : libraryName;
145149
return new Map([
146150
[`jni/${fileName}`, replacedTemplate],
147-
['jni/CMakeLists.txt', CMakeListsTemplate({libraryName: libraryName})],
151+
['jni/CMakeLists.txt', CMakeListsTemplate({libraryName, targetName})],
148152
]);
149153
},
150154
};

packages/react-native/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
#import <React/RCTConversions.h>
1111

12-
#import <react/renderer/components/rncore/ComponentDescriptors.h>
13-
#import <react/renderer/components/rncore/EventEmitters.h>
14-
#import <react/renderer/components/rncore/Props.h>
12+
#import <react/renderer/components/FBReactNativeComponentSpec/ComponentDescriptors.h>
13+
#import <react/renderer/components/FBReactNativeComponentSpec/EventEmitters.h>
14+
#import <react/renderer/components/FBReactNativeComponentSpec/Props.h>
1515

1616
#import "RCTFabricComponentsPlugins.h"
1717

packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#import <React/RCTViewComponentView.h>
1111

12-
#import <react/renderer/components/rncore/RCTComponentViewHelpers.h>
12+
#import <react/renderer/components/FBReactNativeComponentSpec/RCTComponentViewHelpers.h>
1313

1414
@interface RCTDebuggingOverlayComponentView : RCTViewComponentView <RCTDebuggingOverlayViewProtocol>
1515

packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
#import <React/RCTDefines.h>
1212
#import <React/RCTLog.h>
1313

14-
#import <react/renderer/components/rncore/ComponentDescriptors.h>
15-
#import <react/renderer/components/rncore/EventEmitters.h>
16-
#import <react/renderer/components/rncore/Props.h>
17-
#import <react/renderer/components/rncore/RCTComponentViewHelpers.h>
14+
#import <react/renderer/components/FBReactNativeComponentSpec/ComponentDescriptors.h>
15+
#import <react/renderer/components/FBReactNativeComponentSpec/EventEmitters.h>
16+
#import <react/renderer/components/FBReactNativeComponentSpec/Props.h>
17+
#import <react/renderer/components/FBReactNativeComponentSpec/RCTComponentViewHelpers.h>
1818

1919
#import "RCTFabricComponentsPlugins.h"
2020

packages/react-native/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
#import <React/RCTSurfaceTouchHandler.h>
1313
#import <React/RCTUtils.h>
1414
#import <React/UIView+React.h>
15+
#import <react/renderer/components/FBReactNativeComponentSpec/Props.h>
1516
#import <react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h>
16-
#import <react/renderer/components/rncore/Props.h>
1717
#import "RCTInputAccessoryContentView.h"
1818

1919
#import "RCTFabricComponentsPlugins.h"

packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
#import <React/RCTBridge+Private.h>
1111
#import <React/RCTModalManager.h>
1212
#import <React/UIView+React.h>
13+
#import <react/renderer/components/FBReactNativeComponentSpec/EventEmitters.h>
14+
#import <react/renderer/components/FBReactNativeComponentSpec/Props.h>
1315
#import <react/renderer/components/modal/ModalHostViewComponentDescriptor.h>
1416
#import <react/renderer/components/modal/ModalHostViewState.h>
15-
#import <react/renderer/components/rncore/EventEmitters.h>
16-
#import <react/renderer/components/rncore/Props.h>
1717

1818
#import "RCTConversions.h"
1919

packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77

88
#import "RCTPullToRefreshViewComponentView.h"
99

10-
#import <react/renderer/components/rncore/ComponentDescriptors.h>
11-
#import <react/renderer/components/rncore/EventEmitters.h>
12-
#import <react/renderer/components/rncore/Props.h>
13-
#import <react/renderer/components/rncore/RCTComponentViewHelpers.h>
10+
#import <react/renderer/components/FBReactNativeComponentSpec/ComponentDescriptors.h>
11+
#import <react/renderer/components/FBReactNativeComponentSpec/EventEmitters.h>
12+
#import <react/renderer/components/FBReactNativeComponentSpec/Props.h>
13+
#import <react/renderer/components/FBReactNativeComponentSpec/RCTComponentViewHelpers.h>
1414

1515
#import <React/RCTConversions.h>
1616
#import <React/RCTRefreshableProtocol.h>

packages/react-native/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99

1010
#import <React/RCTConversions.h>
1111

12-
#import <react/renderer/components/rncore/ComponentDescriptors.h>
13-
#import <react/renderer/components/rncore/EventEmitters.h>
14-
#import <react/renderer/components/rncore/Props.h>
15-
#import <react/renderer/components/rncore/RCTComponentViewHelpers.h>
12+
#import <react/renderer/components/FBReactNativeComponentSpec/ComponentDescriptors.h>
13+
#import <react/renderer/components/FBReactNativeComponentSpec/EventEmitters.h>
14+
#import <react/renderer/components/FBReactNativeComponentSpec/Props.h>
15+
#import <react/renderer/components/FBReactNativeComponentSpec/RCTComponentViewHelpers.h>
1616

1717
#import "RCTFabricComponentsPlugins.h"
1818

packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
#import "RCTUnimplementedNativeComponentView.h"
99

10-
#import <react/renderer/components/rncore/ComponentDescriptors.h>
11-
#import <react/renderer/components/rncore/EventEmitters.h>
12-
#import <react/renderer/components/rncore/Props.h>
10+
#import <react/renderer/components/FBReactNativeComponentSpec/ComponentDescriptors.h>
11+
#import <react/renderer/components/FBReactNativeComponentSpec/EventEmitters.h>
12+
#import <react/renderer/components/FBReactNativeComponentSpec/Props.h>
1313

1414
using namespace facebook::react;
1515

0 commit comments

Comments
 (0)