Skip to content

Commit 9696b81

Browse files
coadometa-codesync[bot]
authored andcommitted
Add umbrella for public components in react/renderer/components/* subtree. (#57312)
Summary: Pull Request resolved: #57312 This change adds the umbrella-header and include-guard mechanism across `react/renderer/components/*` public modules. The change includes: - react/renderer/components/modal:modal - `public`, - react/renderer/components/root:root - `public`, - react/renderer/components/scrollview:scrollview - `public`, Changelog: [Internal] Differential Revision: D109316840
1 parent 2ef9fa3 commit 9696b81

30 files changed

Lines changed: 191 additions & 3 deletions

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,10 @@ val preparePrefab by
186186
"../ReactCommon/react/renderer/components/root/",
187187
"react/renderer/components/root/",
188188
),
189+
Pair(
190+
"../ReactCommon/react/renderer/components/root/React/",
191+
"React/",
192+
),
189193
// runtimeexecutor
190194
Pair("../ReactCommon/runtimeexecutor/", ""),
191195
// react_renderer_textlayoutmanager

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

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,16 @@ Pod::Spec.new do |s|
128128
s.subspec "components" do |ss|
129129
ss.subspec "root" do |sss|
130130
sss.source_files = podspec_sources("react/renderer/components/root/**/*.{m,mm,cpp,h}", "react/renderer/components/root/**/*.{h}")
131-
sss.exclude_files = "react/renderer/components/root/tests"
131+
sss.exclude_files = ["react/renderer/components/root/tests", "react/renderer/components/root/React"]
132132
sss.header_dir = "react/renderer/components/root"
133133
end
134134

135+
ss.subspec "rootUmbrella" do |sss|
136+
sss.source_files = "react/renderer/components/root/React/*.h"
137+
sss.header_dir = "React"
138+
sss.header_mappings_dir = "react/renderer/components/root/React"
139+
end
140+
135141
ss.subspec "view" do |sss|
136142
sss.dependency "React-renderercss"
137143
sss.dependency "Yoga"
@@ -148,7 +154,13 @@ Pod::Spec.new do |s|
148154
ss.subspec "scrollview" do |sss|
149155
sss.source_files = podspec_sources("react/renderer/components/scrollview/**/*.{m,mm,cpp,h}", "react/renderer/components/scrollview/**/*.{h}")
150156
sss.header_dir = "react/renderer/components/scrollview"
151-
sss.exclude_files = "react/renderer/components/scrollview/tests", "react/renderer/components/scrollview/platform/android"
157+
sss.exclude_files = "react/renderer/components/scrollview/tests", "react/renderer/components/scrollview/platform/android", "react/renderer/components/scrollview/React"
158+
end
159+
160+
ss.subspec "scrollviewUmbrella" do |sss|
161+
sss.source_files = "react/renderer/components/scrollview/React/*.h"
162+
sss.header_dir = "React"
163+
sss.header_mappings_dir = "react/renderer/components/scrollview/React"
152164
end
153165

154166
ss.subspec "legacyviewmanagerinterop" do |sss|

‎packages/react-native/ReactCommon/React-FabricComponents.podspec‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ Pod::Spec.new do |s|
9595
sss.header_dir = "react/renderer/components/modal"
9696
end
9797

98+
ss.subspec "modalUmbrella" do |sss|
99+
sss.source_files = "react/renderer/components/modal/React/*.h"
100+
sss.header_dir = "React"
101+
sss.header_mappings_dir = "react/renderer/components/modal/React"
102+
end
103+
98104
ss.subspec "safeareaview" do |sss|
99105
sss.source_files = podspec_sources("react/renderer/components/safeareaview/**/*.{m,mm,cpp,h}", "react/renderer/components/safeareaview/**/*.h")
100106
# Exclude tests to avoid conflicts with the react-native-safe-area-context package

‎packages/react-native/ReactCommon/react/renderer/components/modal/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ target_link_libraries(rrc_modal
2525
folly_runtime
2626
glog_init
2727
react_codegen_rncore
28+
react_cxxstableapi
2829
react_renderer_componentregistry
2930
react_renderer_core
3031
react_renderer_debug

‎packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.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 <glog/logging.h>
1113
#include <react/renderer/components/modal/ModalHostViewShadowNode.h>
1214
#include <react/renderer/core/ConcreteComponentDescriptor.h>

‎packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.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/components/FBReactNativeSpec/EventEmitters.h>
1113
#include <react/renderer/components/FBReactNativeSpec/Props.h>
1214
#include <react/renderer/components/modal/ModalHostViewState.h>

‎packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewState.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/graphicsConversions.h>
1113
#include <react/renderer/graphics/Float.h>
1214
#include "ModalHostViewUtils.h"

‎packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.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/graphics/Size.h>
1113

1214
namespace facebook::react {
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
#pragma once
9+
10+
// =============================================================================
11+
// Umbrella header for the `react/renderer/components/modal` module - public
12+
// entry point.
13+
//
14+
// #include <React/Modal.h>
15+
//
16+
// Re-exports the module's public interface headers. React Native's own code
17+
// should keep using the fine-grained `<react/renderer/components/modal/...>`
18+
// includes; only outside consumers use this umbrella.
19+
// =============================================================================
20+
21+
// Marks that the following headers are pulled in through the umbrella, so their
22+
// shared guard (<react/cxxstableapi/UmbrellaGuard.h>) accepts them.
23+
#define RN_UMBRELLA_CONTEXT
24+
25+
#include <react/renderer/components/modal/ModalHostViewComponentDescriptor.h>
26+
#include <react/renderer/components/modal/ModalHostViewShadowNode.h>
27+
#include <react/renderer/components/modal/ModalHostViewState.h>
28+
#include <react/renderer/components/modal/ModalHostViewUtils.h>
29+
30+
#undef RN_UMBRELLA_CONTEXT

‎packages/react-native/ReactCommon/react/renderer/components/root/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ target_link_libraries(rrc_root
1717
folly_runtime
1818
glog
1919
glog_init
20+
react_cxxstableapi
2021
react_debug
2122
react_renderer_core
2223
react_renderer_debug

0 commit comments

Comments
 (0)