Skip to content

Commit a0639bd

Browse files
cipolleschimeta-codesync[bot]
authored andcommitted
Fix Build for intersection observers (facebook#54496)
Summary: Pull Request resolved: facebook#54496 This need to be squashed Differential Revision: D86770892
1 parent 6eb7ab3 commit a0639bd

File tree

5 files changed

+22
-6
lines changed

5 files changed

+22
-6
lines changed

packages/react-native/Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ let reactWebPerformanceNativeModule = RNTarget(
342342
let reactIntersectionObserverNativeModule = RNTarget(
343343
name: .reactIntersectionObserverNativeModule,
344344
path: "ReactCommon/react/nativemodule/intersectionobserver",
345-
dependencies: [.reactNativeDependencies, .reactCxxReact, .reactFabric, .reactTurboModuleBridging, .reactGraphics, .reactRuntimeScheduler]
345+
dependencies: [.reactNativeDependencies, .reactCxxReact, .reactFabric, .reactTurboModuleBridging, .reactTurboModuleCore, .reactGraphics, .reactRuntimeScheduler, .yoga]
346346
)
347347

348348
/// React-featureflagnativemodule.podspec
@@ -458,7 +458,7 @@ let reactFabric = RNTarget(
458458
"components/root/tests",
459459
],
460460
dependencies: [.reactNativeDependencies, .reactJsiExecutor, .rctTypesafety, .reactTurboModuleCore, .jsi, .logger, .reactDebug, .reactFeatureFlags, .reactUtils, .reactRuntimeScheduler, .reactCxxReact, .reactRendererDebug, .reactGraphics, .yoga],
461-
sources: ["animations", "attributedstring", "core", "componentregistry", "componentregistry/native", "components/root", "components/view", "components/view/platform/cxx", "components/scrollview", "components/scrollview/platform/cxx", "components/legacyviewmanagerinterop", "dom", "scheduler", "mounting", "observers/events", "telemetry", "consistency", "leakchecker", "uimanager", "uimanager/consistency"]
461+
sources: ["animations", "attributedstring", "core", "componentregistry", "componentregistry/native", "components/root", "components/view", "components/view/platform/cxx", "components/scrollview", "components/scrollview/platform/cxx", "components/legacyviewmanagerinterop", "dom", "scheduler", "mounting", "observers/events", "observers/intersection", "telemetry", "consistency", "leakchecker", "uimanager", "uimanager/consistency"]
462462
)
463463

464464
let reactFabricInputAccessory = RNTarget(

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Pod::Spec.new do |s|
5454
depend_on_js_engine(s)
5555
add_rn_third_party_dependencies(s)
5656
add_rncore_dependency(s)
57-
57+
5858
s.subspec "animated" do |ss|
5959
ss.source_files = podspec_sources("react/renderer/animated/**/*.{m,mm,cpp,h}", "react/renderer/animated/**/*.{h}")
6060
ss.exclude_files = "react/renderer/animated/tests"
@@ -66,7 +66,7 @@ Pod::Spec.new do |s|
6666
ss.exclude_files = "react/renderer/animations/tests"
6767
ss.header_dir = "react/renderer/animations"
6868
end
69-
69+
7070
s.subspec "animationbackend" do |ss|
7171
ss.source_files = podspec_sources("react/renderer/animationbackend/**/*.{m,mm,cpp,h}", "react/renderer/animationbackend/**/*.{h}")
7272
ss.header_dir = "react/renderer/animationbackend"
@@ -179,6 +179,12 @@ Pod::Spec.new do |s|
179179
sss.exclude_files = "react/renderer/observers/events/tests"
180180
sss.header_dir = "react/renderer/observers/events"
181181
end
182+
183+
ss.subspec "intersection" do |sss|
184+
sss.source_files = podspec_sources("react/renderer/observers/intersection/**/*.{m,mm,cpp,h}", "react/renderer/observers/intersection/**/*.h")
185+
sss.exclude_files = "react/renderer/observers/intersection/tests"
186+
sss.header_dir = "react/renderer/observers/intersection"
187+
end
182188
end
183189

184190
s.subspec "templateprocessor" do |ss|

packages/react-native/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ else
1616
source[:tag] = "v#{version}"
1717
end
1818

19-
header_search_paths = []
19+
header_search_paths = [
20+
"\"$(PODS_ROOT)/Headers/Private/Yoga\"",
21+
]
2022

2123
if ENV['USE_FRAMEWORKS']
2224
header_search_paths << "\"$(PODS_TARGET_SRCROOT)/../../..\"" # this is needed to allow the defaultsnativemodule to access its own files
@@ -40,6 +42,7 @@ Pod::Spec.new do |s|
4042

4143
resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_defaultsnativemodule")
4244

45+
s.dependency "Yoga"
4346
s.dependency "React-jsi"
4447
s.dependency "React-jsiexecutor"
4548
depend_on_js_engine(s)

packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h

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

88
#pragma once
99

10+
#if __has_include("FBReactNativeSpecJSI.h") // CocoaPod headers on Apple
11+
#include "FBReactNativeSpecJSI.h"
12+
#else
1013
#include <FBReactNativeSpec/FBReactNativeSpecJSI.h>
14+
#endif
1115
#include <react/renderer/bridging/bridging.h>
1216
#include <react/renderer/observers/intersection/IntersectionObserverManager.h>
1317
#include <optional>

packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ else
1616
source[:tag] = "v#{version}"
1717
end
1818

19-
header_search_paths = []
19+
header_search_paths = [
20+
"\"$(PODS_ROOT)/Headers/Private/Yoga\"",
21+
]
2022

2123
if ENV['USE_FRAMEWORKS']
2224
header_search_paths << "\"$(PODS_TARGET_SRCROOT)/../../..\"" # this is needed to allow the module access its own files
@@ -40,6 +42,7 @@ Pod::Spec.new do |s|
4042

4143
resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "intersectionobservernativemodule")
4244

45+
s.dependency "Yoga"
4346
s.dependency "React-jsi"
4447
s.dependency "React-jsiexecutor"
4548

0 commit comments

Comments
 (0)