Skip to content

Commit 96d5116

Browse files
j-piaseckimeta-codesync[bot]
authored andcommitted
Cover react/renderer/core with stable API guards (#58374)
Summary: Pull Request resolved: #58374 Classifies `react/renderer/core:core` and `react/renderer/core:rawValue` as public targets under the C++ stable API three-tier visibility model. Adds `#include <react/cxxstableapi/UmbrellaGuard.h>` to the modules' 50 exported headers and introduces the module umbrellas `React/RendererCore.h` and `React/RawValue.h`, wiring the guard dependency into BUCK and CMake and the umbrellas into BUCK, CocoaPods, the iOS prebuild header config and the Android prefab export. Consumers that opt into `RN_STRICT_API` now get an error if they include the modules' headers directly, and should include `<React/RendererCore.h>` or `<React/RawValue.h>` instead; without that flag the guards are inert, so no existing build changes behaviour. Changelog: [General][Added] - Added umbrella headers for `react/renderer/core:core` and `react/renderer/core:rawValue` modules Differential Revision: D119065020
1 parent df86c5e commit 96d5116

55 files changed

Lines changed: 201 additions & 2 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/react-native/ReactAndroid/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ val preparePrefab by
140140
),
141141
// react_renderer_core
142142
Pair("../ReactCommon/react/renderer/core/", "react/renderer/core/"),
143+
Pair("../ReactCommon/react/renderer/core/React/", "React/"),
143144
// react_renderer_css
144145
Pair("../ReactCommon/react/renderer/css/", "react/renderer/css/"),
145146
Pair("../ReactCommon/react/renderer/css/React/", "React/"),

packages/react-native/ReactCommon/React-Fabric.podspec

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,19 @@ Pod::Spec.new do |s|
108108
end
109109

110110
ss.source_files = podspec_sources("react/renderer/core/**/*.{m,mm,cpp,h}", "react/renderer/core/**/*.{h}")
111-
ss.exclude_files = "react/renderer/core/tests"
111+
ss.exclude_files = ["react/renderer/core/tests", "react/renderer/core/React"]
112112
ss.header_dir = "react/renderer/core"
113113
ss.pod_target_xcconfig = {
114114
"HEADER_SEARCH_PATHS" => header_search_path.join(" ")
115115
}
116116
end
117117

118+
s.subspec "coreUmbrella" do |ss|
119+
ss.source_files = "react/renderer/core/React/*.h"
120+
ss.header_dir = ""
121+
ss.header_mappings_dir = "react/renderer/core"
122+
end
123+
118124
s.subspec "componentregistry" do |ss|
119125
ss.source_files = podspec_sources("react/renderer/componentregistry/*.{m,mm,cpp,h}", "react/renderer/componentregistry/*.{h}")
120126
ss.header_dir = "react/renderer/componentregistry"

packages/react-native/ReactCommon/react/renderer/core/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ file(GLOB react_renderer_core_SRC CONFIGURE_DEPENDS *.cpp)
1212
add_library(react_renderer_core OBJECT ${react_renderer_core_SRC})
1313

1414
target_include_directories(react_renderer_core PUBLIC ${REACT_COMMON_DIR})
15+
target_include_directories(react_renderer_core INTERFACE ${REACT_COMMON_DIR}/react/renderer/core)
1516
target_link_libraries(react_renderer_core
1617
folly_runtime
1718
glog
1819
jsi
1920
logger
21+
react_cxxstableapi
2022
react_debug
2123
react_featureflags
2224
react_renderer_debug

packages/react-native/ReactCommon/react/renderer/core/ComponentDescriptor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/UmbrellaGuard.h>
11+
1012
#include <react/renderer/core/EventDispatcher.h>
1113
#include <react/renderer/core/InstanceHandle.h>
1214
#include <react/renderer/core/Props.h>

packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/UmbrellaGuard.h>
11+
1012
#include <memory>
1113
#include <vector>
1214

packages/react-native/ReactCommon/react/renderer/core/ConcreteShadowNode.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/UmbrellaGuard.h>
11+
1012
#include <react/debug/react_native_assert.h>
1113
#include <react/renderer/core/ConcreteState.h>
1214
#include <react/renderer/core/Props.h>

packages/react-native/ReactCommon/react/renderer/core/ConcreteState.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/UmbrellaGuard.h>
11+
1012
#include <functional>
1113
#include <memory>
1214

packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/UmbrellaGuard.h>
11+
1012
#include <folly/dynamic.h>
1113
#include <react/renderer/core/EventPayload.h>
1214

packages/react-native/ReactCommon/react/renderer/core/DynamicPointerEvent.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/UmbrellaGuard.h>
11+
1012
#include <folly/dynamic.h>
1113
#include <react/renderer/core/DynamicEventPayload.h>
1214
#include <react/renderer/core/EventPayload.h>

packages/react-native/ReactCommon/react/renderer/core/DynamicPropsUtilities.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#pragma once
99

10+
#include <react/cxxstableapi/UmbrellaGuard.h>
11+
1012
#include <folly/dynamic.h>
1113
#include <react/renderer/core/RawProps.h>
1214

0 commit comments

Comments
 (0)