Skip to content

Commit 98be50d

Browse files
javachefacebook-github-bot
authored andcommitted
Merge all core codegen into FBReactNativeSpec (facebook#50317)
Summary: Pull Request resolved: facebook#50317 Pull Request resolved: facebook#43570 `rncore`, `FBReactNativeSpec` 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 `FBReactNativeSpec` everywhere. I've left the Android OSS targets names as is, to avoid breaking deps. This aligns react-native's package.json with the codegen tooling supported across iOS and Android, which is a single target for all all type-derived codegen. Changelog: [Internal] Differential Revision: D55037569
1 parent 68741d7 commit 98be50d

File tree

34 files changed

+63
-165
lines changed

34 files changed

+63
-165
lines changed

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,28 +76,28 @@ 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
OBJECT
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
jsi
8990
# We need to link different libraries based on whether we are building rncore or not, that's necessary
9091
# because we want to break a circular dependency between react_codegen_rncore and reactnative
9192
${
92-
libraryName !== 'rncore'
93+
targetName !== 'rncore'
9394
? 'reactnative'
9495
: 'folly_runtime glog react_debug react_nativemodule_core react_renderer_componentregistry react_renderer_core react_renderer_debug react_renderer_graphics react_renderer_imagemanager react_renderer_mapbuffer react_utils rrc_image rrc_view turbomodulejsijni yoga'
9596
}
9697
)
9798
9899
target_compile_options(
99-
react_codegen_${libraryName}
100+
react_codegen_${targetName}
100101
PRIVATE
101102
-DLOG_TAG=\\"ReactNative\\"
102103
-fexceptions
@@ -133,9 +134,12 @@ module.exports = {
133134
modules: modules,
134135
libraryName: libraryName.replace(/-/g, '_'),
135136
});
137+
// Use rncore as target name for backwards compat
138+
const targetName =
139+
libraryName === 'FBReactNativeSpec' ? 'rncore' : libraryName;
136140
return new Map([
137141
[`jni/${fileName}`, replacedTemplate],
138-
['jni/CMakeLists.txt', CMakeListsTemplate({libraryName: libraryName})],
142+
['jni/CMakeLists.txt', CMakeListsTemplate({libraryName, targetName})],
139143
]);
140144
},
141145
};

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/FBReactNativeSpec/ComponentDescriptors.h>
13+
#import <react/renderer/components/FBReactNativeSpec/EventEmitters.h>
14+
#import <react/renderer/components/FBReactNativeSpec/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/FBReactNativeSpec/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/FBReactNativeSpec/ComponentDescriptors.h>
15+
#import <react/renderer/components/FBReactNativeSpec/EventEmitters.h>
16+
#import <react/renderer/components/FBReactNativeSpec/Props.h>
17+
#import <react/renderer/components/FBReactNativeSpec/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/FBReactNativeSpec/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/FBReactNativeSpec/EventEmitters.h>
14+
#import <react/renderer/components/FBReactNativeSpec/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/FBReactNativeSpec/ComponentDescriptors.h>
11+
#import <react/renderer/components/FBReactNativeSpec/EventEmitters.h>
12+
#import <react/renderer/components/FBReactNativeSpec/Props.h>
13+
#import <react/renderer/components/FBReactNativeSpec/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/FBReactNativeSpec/ComponentDescriptors.h>
13+
#import <react/renderer/components/FBReactNativeSpec/EventEmitters.h>
14+
#import <react/renderer/components/FBReactNativeSpec/Props.h>
15+
#import <react/renderer/components/FBReactNativeSpec/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/FBReactNativeSpec/ComponentDescriptors.h>
11+
#import <react/renderer/components/FBReactNativeSpec/EventEmitters.h>
12+
#import <react/renderer/components/FBReactNativeSpec/Props.h>
1313

1414
using namespace facebook::react;
1515

packages/react-native/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm

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

88
#import "RCTUnimplementedViewComponentView.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/FBReactNativeSpec/ComponentDescriptors.h>
11+
#import <react/renderer/components/FBReactNativeSpec/EventEmitters.h>
12+
#import <react/renderer/components/FBReactNativeSpec/Props.h>
1313

1414
#import <react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h>
1515
#import <react/renderer/components/unimplementedview/UnimplementedViewShadowNode.h>

0 commit comments

Comments
 (0)