Files
react-native/RNTester/Podfile
T
Héctor Ramos e255748d12 Codegen: Enable generation of ObjC FBReactNativeSpec with CocoaPods
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
2020-07-01 22:45:12 -07:00

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