mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
d8e00f0bb1
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/52252 Instead of declaring two different sets of Pods for prebuilt and build from source, this commit now keeps the pod structure the same for both modes so that consuming libraries can expect to have the same pods and header files available - without this, libraries would have to be updated to take advantage of the prebuilds. This PR does: - Added React-Core-prebuilt as a pod in React-Core if prebuilt is enabled - Simplified react_native_pods to keep pods structure and add React-Core-prebuilt pod if prebuilts are enabled - Added function for selecting source sets based on prebuilt/build from source To be able to function both in prebuilt and in regular build from source mode, all podspecs are now using the switch function podspec_sources so that they only include header files if we are in prebuild mode. Also added React-Core-prebuilt as dependency on React-Core if we are in prebuilt mode so that we install the React.XCFramework. ## Changelog: [IOS] [FIXED] - Added backwards compatible use of prebuild through cocoapods Pull Request resolved: https://github.com/facebook/react-native/pull/52223 Test Plan: Tested in RN-Tester both with and without prebuild. Rollback Plan: Reviewed By: cortinico Differential Revision: D77296047 Pulled By: cipolleschi fbshipit-source-id: f3eb4d56b2a78bfc8e10ad852746be1ceaf828b2
45 lines
1.8 KiB
Ruby
45 lines
1.8 KiB
Ruby
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
#
|
||
# This source code is licensed under the MIT license found in the
|
||
# LICENSE file in the root directory of this source tree.
|
||
|
||
require "json"
|
||
|
||
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "react-native", "package.json")))
|
||
version = package['version']
|
||
|
||
source = { :git => 'https://github.com/facebook/react-native.git' }
|
||
if version == '1000.0.0'
|
||
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
||
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
||
else
|
||
source[:tag] = "v#{version}"
|
||
end
|
||
|
||
Pod::Spec.new do |s|
|
||
s.name = "React-RCTTest"
|
||
s.version = version
|
||
s.summary = "Tools for integration and snapshot testing."
|
||
s.homepage = "https://reactnative.dev/"
|
||
s.license = package["license"]
|
||
s.author = "Meta Platforms, Inc. and its affiliates"
|
||
s.platforms = min_supported_versions
|
||
s.compiler_flags = '-Wno-nullability-completeness'
|
||
s.source = source
|
||
s.source_files = podspec_sources("**/*.{h,m,mm}", "**/*.h")
|
||
s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs"
|
||
s.framework = "XCTest"
|
||
s.header_dir = "RCTTest"
|
||
s.pod_target_xcconfig = {
|
||
"USE_HEADERMAP" => "YES",
|
||
"CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
||
}
|
||
|
||
s.dependency "React-Core", version
|
||
s.dependency "React-CoreModules", version
|
||
s.dependency "ReactCommon/turbomodule/core", version
|
||
s.dependency "React-jsi", version
|
||
|
||
add_rn_third_party_dependencies(s)
|
||
end
|