mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
e255748d12
Summary: Build `FBReactNativeSpec.h` and `FBReactNativeSpec-generated.mm` using the new codegen script whenever the workspace is created using CocoaPods if the `USE_CODEGEN` envvar is set to 1. Effectively makes use of the new codegen integration in CocoaPods opt-in. The `USE_CODEGEN` envvar check should be removed when the generated files are removed from source control, at which point use of the new codegen in CocoaPods will be necessary. ``` cd RNTester USE_CODEGEN=1 pod install ``` Changelog: [Internal] Reviewed By: RSNara Differential Revision: D22250128 fbshipit-source-id: 8f06bf1424ca2e003ecfd032ec03d7896569f9bd
71 lines
2.0 KiB
Ruby
71 lines
2.0 KiB
Ruby
require_relative '../scripts/react_native_pods'
|
|
|
|
source 'https://cdn.cocoapods.org/'
|
|
platform :ios, '10.0'
|
|
|
|
if ENV['USE_FRAMEWORKS'] == '1'
|
|
puts "Installing pods with use_frameworks!"
|
|
use_frameworks!
|
|
end
|
|
|
|
def pods()
|
|
project 'RNTesterPods.xcodeproj'
|
|
|
|
# Enable TurboModule
|
|
use_react_native!(path: "..")
|
|
pod 'ReactCommon/turbomodule/samples', :path => '../ReactCommon'
|
|
|
|
# Additional Pods which aren't included in the default Podfile
|
|
pod 'React-ART', :path => '../Libraries/ART'
|
|
pod 'React-RCTPushNotification', :path => '../Libraries/PushNotificationIOS'
|
|
pod 'Yoga',:path => '../ReactCommon/yoga', :modular_headers => true
|
|
# Additional Pods which are classed as unstable
|
|
#
|
|
# To use fabric: add `fabric_enabled` option to the use_react_native method above, like below
|
|
# use_react_native!(path: "..", fabric_enabled: true)
|
|
end
|
|
|
|
target 'RNTester' do
|
|
pods()
|
|
use_flipper!
|
|
end
|
|
|
|
target 'RNTesterUnitTests' do
|
|
pods()
|
|
pod 'React-RCTTest', :path => "./RCTTest"
|
|
end
|
|
|
|
target 'RNTesterIntegrationTests' do
|
|
pods()
|
|
pod 'React-RCTTest', :path => "./RCTTest"
|
|
end
|
|
|
|
def frameworks_pre_install(installer)
|
|
static_frameworks = ['FlipperKit', 'Flipper', 'Flipper-Folly',
|
|
'CocoaAsyncSocket', 'ComponentKit', 'Flipper-DoubleConversion',
|
|
'Flipper-Glog', 'Flipper-PeerTalk', 'Flipper-RSocket',
|
|
'CocoaLibEvent', 'OpenSSL-Universal', 'boost-for-react-native']
|
|
|
|
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
|
|
installer.pod_targets.each do |pod|
|
|
if static_frameworks.include?(pod.name)
|
|
def pod.build_type
|
|
Pod::Target::BuildType.static_library
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
def codegen_pre_install(installer)
|
|
system("../scripts/generate-native-modules-specs.sh")
|
|
end
|
|
|
|
pre_install do |installer|
|
|
frameworks_pre_install(installer) if ENV['USE_FRAMEWORKS'] == '1'
|
|
codegen_pre_install(installer) if ENV['USE_CODEGEN'] == '1'
|
|
end
|
|
|
|
post_install do |installer|
|
|
flipper_post_install(installer)
|
|
end
|