Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/react-native/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,7 @@ let reactFabricTextInput = RNTarget(
name: .reactFabricTextInput,
path: "ReactCommon/react/renderer/components/textinput",
excludedPaths: ["platform/android", "platform/macos"],
dependencies: [.reactNativeDependencies, .reactCore, .reactJsiExecutor, .reactTurboModuleCore, .jsi, .logger, .reactDebug, .reactFeatureFlags, .reactUtils, .reactRuntimeScheduler, .reactCxxReact, .yoga, .reactRendererDebug, .reactGraphics, .reactFabric, .reactTurboModuleBridging, .reactFabricTextLayoutManager],
dependencies: [.reactNativeDependencies, .reactCore, .reactJsiExecutor, .reactTurboModuleCore, .jsi, .logger, .reactDebug, .reactFeatureFlags, .reactUtils, .reactRuntimeScheduler, .reactCxxReact, .yoga, .reactRendererDebug, .reactGraphics, .reactFabric, .reactTurboModuleBridging, .reactFabricTextLayoutManager, .reactImageManagerApple],
sources: [".", "platform/ios"]
)

Expand Down
2 changes: 2 additions & 0 deletions packages/react-native/ReactCommon/React-Fabric.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ Pod::Spec.new do |s|

s.subspec "components" do |ss|
ss.subspec "root" do |sss|
sss.dependency "React-Fabric/coreUmbrella"
sss.dependency "React-Fabric/components/viewUmbrella"
sss.source_files = podspec_sources("react/renderer/components/root/**/*.{m,mm,cpp,h}", "react/renderer/components/root/**/*.{h}")
sss.exclude_files = "react/renderer/components/root/tests"
sss.header_dir = "react/renderer/components/root"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,11 @@ Pod::Spec.new do |s|
add_dependency(s, "React-RCTFBReactNativeSpec")
add_dependency(s, "React-rendererdebug")
add_dependency(s, "React-graphics", :additional_framework_paths => ["react/renderer/graphics/platform/ios"])
add_dependency(s, "React-ImageManager", :additional_framework_paths => ["react/renderer/imagemanager/platform/ios"])
add_dependency(s, "React-Fabric", :additional_framework_paths => [
"react/renderer/components/scrollview/platform/cxx",
"react/renderer/components/scrollview/platform/ios",
"react/renderer/components/view/platform/cxx",
"react/renderer/imagemanager/platform/ios"
"react/renderer/components/view/platform/cxx"
])

depend_on_js_engine(s)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <React/RendererCore.h>
#include <react/renderer/components/root/RootShadowNode.h>
#include <react/renderer/core/ConcreteComponentDescriptor.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,8 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <memory>

#include <react/renderer/components/view/ViewProps.h>
#include <react/renderer/core/LayoutConstraints.h>
#include <react/renderer/core/LayoutContext.h>
#include <react/renderer/core/PropsParserContext.h>
#include <React/RendererCore.h>
#include <React/View.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@

#include <memory>

#include <React/RendererCore.h>
#include <React/View.h>
#include <react/renderer/components/root/RootProps.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <react/renderer/core/LayoutContext.h>
#include <react/renderer/core/PropsParserContext.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <React/RendererCore.h>
#include <React/View.h>
#include <react/renderer/attributedstring/ParagraphAttributes.h>
#include <react/renderer/components/text/BaseTextProps.h>
#include <react/renderer/components/textinput/basePrimitives.h>
#include <react/renderer/components/view/ViewProps.h>
#include <react/renderer/core/PropsParserContext.h>
#include <react/renderer/graphics/Color.h>
#include <limits>
#include <string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,17 @@

#include <glog/logging.h>

#include <React/RendererCore.h>
#include <React/Utils.h>
#include <React/View.h>
#include <react/renderer/attributedstring/AttributedString.h>
#include <react/renderer/attributedstring/AttributedStringBox.h>
#include <react/renderer/components/text/BaseTextShadowNode.h>
#include <react/renderer/components/textinput/BaseTextInputProps.h>
#include <react/renderer/components/textinput/TextInputState.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <react/renderer/components/view/YogaLayoutableShadowNode.h>
#include <react/renderer/core/LayoutConstraints.h>
#include <react/renderer/core/LayoutContext.h>
#include <react/renderer/textlayoutmanager/TextLayoutContext.h>
#include <react/renderer/textlayoutmanager/TextLayoutManager.h>
#include <react/renderer/textlayoutmanager/TextLayoutManagerExtended.h>
#include <react/utils/ContextContainer.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <React/View.h>
#include <react/renderer/attributedstring/AttributedString.h>
#include <react/renderer/components/view/ViewEventEmitter.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <React/RendererCore.h>
#include <react/renderer/components/textinput/basePrimitives.h>
#include <react/renderer/core/PropsParserContext.h>
#include <react/renderer/core/RawValue.h>
#include <string>

namespace facebook::react {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

#include <unordered_map>

#include <react/renderer/core/ConcreteComponentDescriptor.h>
#include <React/RendererCore.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <react/renderer/components/view/ViewEventEmitter.h>
#include <React/View.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,13 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <react/renderer/core/Props.h>
#include <react/renderer/graphics/Color.h>

#include <React/ImageManager.h>
#include <React/RendererCore.h>
#include <react/renderer/attributedstring/TextAttributes.h>
#include <react/renderer/attributedstring/conversions.h>
#include <react/renderer/components/textinput/BaseTextInputProps.h>
#include <react/renderer/components/textinput/basePrimitives.h>
#include <react/renderer/core/PropsParserContext.h>
#include <react/renderer/core/propsConversions.h>
#include <react/renderer/graphics/Color.h>
#include <react/renderer/imagemanager/primitives.h>
#include <unordered_map>

namespace facebook::react {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
#include "AndroidTextInputProps.h"
#include "AndroidTextInputState.h"

#include <React/Utils.h>
#include <React/View.h>
#include <react/renderer/attributedstring/AttributedString.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <react/utils/ContextContainer.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
#include <react/renderer/attributedstring/ParagraphAttributes.h>
#include <react/renderer/textlayoutmanager/TextLayoutManager.h>

#include <React/MapBuffer.h>
#include <folly/dynamic.h>
#include <react/renderer/mapbuffer/MapBuffer.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <React/RendererCore.h>
#include <react/renderer/components/iostextinput/TextInputShadowNode.h>
#include <react/renderer/core/ConcreteComponentDescriptor.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,13 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <React/ImageManager.h>
#include <React/RendererCore.h>
#include <react/renderer/attributedstring/ParagraphAttributes.h>
#include <react/renderer/attributedstring/TextAttributes.h>
#include <react/renderer/components/iostextinput/conversions.h>
#include <react/renderer/components/iostextinput/primitives.h>
#include <react/renderer/components/textinput/BaseTextInputProps.h>
#include <react/renderer/core/Props.h>
#include <react/renderer/core/PropsParserContext.h>
#include <react/renderer/core/propsConversions.h>
#include <react/renderer/imagemanager/primitives.h>
#include <vector>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <React/RendererCore.h>
#include <react/renderer/components/iostextinput/primitives.h>
#include <react/renderer/core/PropsParserContext.h>
#include <react/renderer/core/propsConversions.h>

namespace facebook::react {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@

#include <react/cxxstableapi/FrameworksGuard.h>

#include <react/debug/react_native_expect.h>
#include <React/Debug.h>
#include <React/RendererCore.h>
#include <react/renderer/components/iostextinput/primitives.h>
#include <react/renderer/core/PropsParserContext.h>
#include <react/renderer/core/propsConversions.h>

namespace facebook::react {

Expand Down
90 changes: 88 additions & 2 deletions packages/react-native/scripts/cocoapods/__tests__/utils-test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -732,7 +732,12 @@ def test_updateSearchPaths_whenUseFrameworks_addsSearchPaths
second_target
]
)
pods_projects_mock = PodsProjectMock.new([third_target], {"hermes-engine" => {}})
pods_projects_mock = PodsProjectMock.new(
[third_target],
{"hermes-engine" => {}},
"test/path-pod.xcodeproj",
[prepare_config("Debug"), prepare_config("Release")]
)
installer = InstallerMock.new(pods_projects_mock, [
AggregatedProjectMock.new(user_project_mock)
])
Expand All @@ -743,10 +748,15 @@ def test_updateSearchPaths_whenUseFrameworks_addsSearchPaths
# Assert
user_project_mock.build_configurations.each do |config|
received_search_path = config.build_settings["HEADER_SEARCH_PATHS"]
expected_search_path = "$(inherited) ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core ${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-rendererdebug/React_rendererdebug.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-timing/React_timing.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-featureflags/React_featureflags.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-renderercss/React_renderercss.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-cxxstableapi/React_cxxstableapi.framework/Headers"
expected_search_path = "$(inherited) ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core ${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/scrollview/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/scrollview/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-debug/React_debug.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-rendererdebug/React_rendererdebug.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-timing/React_timing.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-utils/React_utils.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/textlayoutmanager/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/text/platform/cxx ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/textinput/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-FabricComponents/React_FabricComponents.framework/Headers/react/renderer/components/switch/iosswitch ${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-bridging/React_bridging.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios ${PODS_CONFIGURATION_BUILD_DIR}/React-featureflags/React_featureflags.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-renderercss/React_renderercss.framework/Headers ${PODS_CONFIGURATION_BUILD_DIR}/React-cxxstableapi/React_cxxstableapi.framework/Headers"
assert_equal(expected_search_path, received_search_path)
end

pods_projects_mock.build_configurations.each do |config|
received_search_paths = Shellwords.shellsplit(config.build_settings["HEADER_SEARCH_PATHS"])
assert_false(received_search_paths.include?("${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers"))
end

installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
if pod_name == "SecondTarget"
target_installation_result.native_target.build_configurations.each do |config|
Expand Down Expand Up @@ -808,6 +818,20 @@ def test_add_search_path_if_not_included_does_not_add_existing_path_to_string
assert_equal("/path/to/headers /another/path", result)
end

def test_add_search_path_if_not_included_adds_path_that_is_prefix_of_existing_path
current_paths = "/path/to/headers/platform/ios"
new_path = "/path/to/headers"
result = ReactNativePodsUtils.add_search_path_if_not_included(current_paths, new_path)
assert_equal("/path/to/headers/platform/ios /path/to/headers", result)
end

def test_add_search_path_if_not_included_does_not_duplicate_quoted_path_with_spaces
current_paths = '"/path/with spaces/headers" /another/path'
new_path = '"/path/with spaces/headers"'
result = ReactNativePodsUtils.add_search_path_if_not_included(current_paths, new_path)
assert_equal(current_paths, result)
end

def test_add_search_path_if_not_included_does_not_add_existing_path_with_leading_space_to_string
current_paths = " /path/with/leading/space /another/path"
new_path = "/path/with/leading/space"
Expand Down Expand Up @@ -943,6 +967,68 @@ def test_createHeaderSearchPathsForStableUmbrellas_whenUsingPrebuiltCore_addsNot
assert_equal([], result)
end

def test_setStableUmbrellaSearchPaths_addsOwningFrameworkPathToDependentTarget
target = prepare_target("Consumer", nil, [DependencyMock.new("React-Fabric")])
target_installation_result = TargetInstallationResultMock.new(target, target)

ReactNativePodsUtils.set_stable_umbrella_search_paths(target_installation_result)

target.build_configurations.each do |config|
assert_equal(
'$(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers"',
config.build_settings["HEADER_SEARCH_PATHS"]
)
end
end

def test_setStableUmbrellaSearchPaths_addsOwningFrameworkPathToTransitivelyDependentTarget
dependency = Struct.new(:name, :target)
fabric_target = prepare_target("React-Fabric")
intermediate_target = prepare_target(
"Intermediate",
nil,
[dependency.new("React-Fabric", fabric_target)]
)
consumer_target = prepare_target(
"Consumer",
nil,
[dependency.new("Intermediate", intermediate_target)]
)
target_installation_result = TargetInstallationResultMock.new(consumer_target, consumer_target)

ReactNativePodsUtils.set_stable_umbrella_search_paths(target_installation_result)

consumer_target.build_configurations.each do |config|
assert_equal(
'$(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers"',
config.build_settings["HEADER_SEARCH_PATHS"]
)
end
end

def test_setStableUmbrellaSearchPaths_doesNotAddOwningFrameworkPathToUnrelatedTarget
target = prepare_target("React-Fabric")
target_installation_result = TargetInstallationResultMock.new(target, target)

ReactNativePodsUtils.set_stable_umbrella_search_paths(target_installation_result)

target.build_configurations.each do |config|
assert_nil(config.build_settings["HEADER_SEARCH_PATHS"])
end
end

def test_setStableUmbrellaSearchPaths_whenUsingPrebuiltCore_addsNothing
ReactNativeCoreUtils.class_variable_set(:@@build_from_source, false)
target = prepare_target("Consumer", nil, [DependencyMock.new("React-Fabric")])
target_installation_result = TargetInstallationResultMock.new(target, target)

ReactNativePodsUtils.set_stable_umbrella_search_paths(target_installation_result)

target.build_configurations.each do |config|
assert_nil(config.build_settings["HEADER_SEARCH_PATHS"])
end
end

# ================================= #
# TEST - Add RN_BUILDING definition #
# ================================= #
Expand Down
Loading
Loading