mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-03-06 17:34:07 +08:00
BREAKING - Update podspecs to support and default to the C++ bridge
Summary: This will require people who use CocoaPods to update their Podfiles. You can see an example of a Podfile set up to use the Cxx bridge here: https://github.com/mhorowitz/native-navigation-boilerplate/blob/master/ios/Podfile If this doesn't work, you can continue to use the old bridge by adding a dependency of 'BatchedBridge' to the React subspecs in your Podfile, but this will stop working once the old bridge is removed. Reviewed By: javache Differential Revision: D4981920 fbshipit-source-id: 7c4f3bf1c3f9af3f934f03ec003a05d0cd3cb259
This commit is contained in:
committed by
Facebook Github Bot
parent
dd45e7e1c4
commit
5aca739cc2
@@ -11,6 +11,8 @@ else
|
||||
source[:tag] = "v#{version}"
|
||||
end
|
||||
|
||||
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1'
|
||||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = "React"
|
||||
s.version = version
|
||||
@@ -41,13 +43,27 @@ Pod::Spec.new do |s|
|
||||
|
||||
s.subspec "Core" do |ss|
|
||||
ss.dependency "Yoga", "#{package["version"]}.React"
|
||||
ss.dependency "React/cxxreact"
|
||||
ss.source_files = "React/**/*.{c,h,m,mm,S}"
|
||||
ss.exclude_files = "**/__tests__/*", "IntegrationTests/*", "React/DevSupport/*", "React/**/RCTTVView.*", "ReactCommon/yoga/*", "React/Cxx*/*"
|
||||
ss.exclude_files = "**/__tests__/*", "IntegrationTests/*", "React/DevSupport/*", "React/**/RCTTVView.*", "ReactCommon/yoga/*", "React/Cxx*/*", "React/Base/RCTBatchedBridge.mm", "React/Executors/*"
|
||||
ss.framework = "JavaScriptCore"
|
||||
ss.libraries = "stdc++"
|
||||
end
|
||||
|
||||
s.subspec "BatchedBridge" do |ss|
|
||||
ss.dependency "React/Core"
|
||||
ss.dependency "React/cxxreact_legacy"
|
||||
ss.source_files = "React/Base/RCTBatchedBridge.mm", "React/Executors/*"
|
||||
end
|
||||
|
||||
s.subspec "CxxBridge" do |ss|
|
||||
ss.dependency "Folly"
|
||||
ss.dependency "React/Core"
|
||||
ss.dependency "React/cxxreact"
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.private_header_files = "React/Cxx*/*.h"
|
||||
ss.source_files = "React/Cxx*/*.{h,m,mm}"
|
||||
end
|
||||
|
||||
s.subspec "DevSupport" do |ss|
|
||||
ss.dependency "React/Core"
|
||||
ss.dependency "React/RCTWebSocket"
|
||||
@@ -59,20 +75,40 @@ Pod::Spec.new do |s|
|
||||
ss.source_files = "React/**/RCTTVView.{h, m}"
|
||||
end
|
||||
|
||||
s.subspec "jschelpers" do |ss|
|
||||
s.subspec "jschelpers_legacy" do |ss|
|
||||
ss.source_files = "ReactCommon/jschelpers/{JavaScriptCore,JSCWrapper}.{cpp,h}", "ReactCommon/jschelpers/systemJSCWrapper.cpp"
|
||||
ss.private_header_files = "ReactCommon/jschelpers/{JavaScriptCore,JSCWrapper}.h"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||||
ss.framework = "JavaScriptCore"
|
||||
end
|
||||
|
||||
s.subspec "cxxreact" do |ss|
|
||||
ss.dependency "React/jschelpers"
|
||||
s.subspec "cxxreact_legacy" do |ss|
|
||||
ss.dependency "React/jschelpers_legacy"
|
||||
ss.source_files = "ReactCommon/cxxreact/{JSBundleType,oss-compat-util}.{cpp,h}"
|
||||
ss.private_header_files = "ReactCommon/cxxreact/{JSBundleType,oss-compat-util}.h"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||||
end
|
||||
|
||||
s.subspec "jschelpers" do |ss|
|
||||
ss.dependency "Folly"
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "ReactCommon/jschelpers/*.{cpp,h}"
|
||||
ss.private_header_files = "ReactCommon/jschelpers/*.h"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\"" }
|
||||
ss.framework = "JavaScriptCore"
|
||||
end
|
||||
|
||||
s.subspec "cxxreact" do |ss|
|
||||
ss.dependency "React/jschelpers"
|
||||
ss.dependency "boost"
|
||||
ss.dependency "Folly"
|
||||
ss.compiler_flags = folly_compiler_flags
|
||||
ss.source_files = "ReactCommon/cxxreact/*.{cpp,h}"
|
||||
ss.exclude_files = "ReactCommon/cxxreact/JSCTracing.cpp"
|
||||
ss.private_header_files = "ReactCommon/cxxreact/*.h"
|
||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\"" }
|
||||
end
|
||||
|
||||
s.subspec "ART" do |ss|
|
||||
ss.dependency "React/Core"
|
||||
ss.source_files = "Libraries/ART/**/*.{h,m}"
|
||||
|
||||
Reference in New Issue
Block a user