Summary: This PR updates the flipperkit version of the Tutorial and updates the GH action to test it without the arch flag. This PR also fixes the script which updates the `flipperkit_version` tag in all the files. It was broken for Tutorial, as it used to replace the last released version of the pod with the current one in each file, but for some reason the flipper version in the Tutorial/Podfile was way older and it never got updated. I have fixed the logic now to replace the current version in the file with the new one, rather than relying on only last version to be replaced. ## Changelog - Updated the GH action of tutorial to remove the -arch flag - Updated Tutorial/Podfile and Podfile.lock - Updated scripts/update-pod-versions.sh Pull Request resolved: https://github.com/facebook/flipper/pull/1896 Test Plan: CI should be green Tested that the version gets updated for each and every file, file tested were Flipper.podspec, FlipperKit.podspec, Sample/Podfile SampleSwift/Podfile Tutorial/Podfile {F369967362} {F369967395} Reviewed By: nikoant Differential Revision: D26275657 Pulled By: priteshrnandgaonkar fbshipit-source-id: 0f21a2a33c740938d2b29624e95974e80a2e38ba
62 lines
2.5 KiB
Ruby
62 lines
2.5 KiB
Ruby
project 'Tutorial.xcodeproj'
|
|
swift_version = "4.1"
|
|
flipperkit_version = '0.74.0'
|
|
use_frameworks!
|
|
|
|
target 'Tutorial' do
|
|
platform :ios, '10.0'
|
|
|
|
pod 'FlipperKit', '~>' + flipperkit_version
|
|
# Layout and network plugins are not yet supported for swift projects
|
|
pod 'FlipperKit/FlipperKitLayoutComponentKitSupport', '~>' + flipperkit_version
|
|
pod 'FlipperKit/SKIOSNetworkPlugin', '~>' + flipperkit_version
|
|
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', '~>' + flipperkit_version
|
|
|
|
# If you use `use_frameworks!` in your Podfile,
|
|
# uncomment the below $static_framework array and also
|
|
# the pre_install section. This will cause Flipper and
|
|
# it's dependencies to be static and all other pods to
|
|
# be dynamic.
|
|
$static_framework = ['FlipperKit', 'Flipper', 'Flipper-Folly',
|
|
'CocoaAsyncSocket', 'ComponentKit', 'Flipper-DoubleConversion',
|
|
'Flipper-Glog', 'Flipper-PeerTalk', 'Flipper-RSocket', 'Yoga', 'YogaKit',
|
|
'CocoaLibEvent', 'OpenSSL-Universal', 'boost-for-react-native']
|
|
|
|
pre_install do |installer|
|
|
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
|
|
installer.pod_targets.each do |pod|
|
|
if $static_framework.include?(pod.name)
|
|
def pod.build_type;
|
|
Pod::BuildType.static_library
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
# This post_install hook adds the -DFB_SONARKIT_ENABLED flag to OTHER_SWIFT_FLAGS, necessary to build swift target
|
|
post_install do |installer|
|
|
file_name = Dir.glob("*.xcodeproj")[0]
|
|
app_project = Xcodeproj::Project.open(file_name)
|
|
app_project.native_targets.each do |target|
|
|
target.build_configurations.each do |config|
|
|
if (config.build_settings['OTHER_SWIFT_FLAGS'])
|
|
unless config.build_settings['OTHER_SWIFT_FLAGS'].include? '-DFB_SONARKIT_ENABLED'
|
|
puts 'Adding -DFB_SONARKIT_ENABLED ...'
|
|
swift_flags = config.build_settings['OTHER_SWIFT_FLAGS']
|
|
if swift_flags.split.last != '-Xcc'
|
|
config.build_settings['OTHER_SWIFT_FLAGS'] << ' -Xcc'
|
|
end
|
|
config.build_settings['OTHER_SWIFT_FLAGS'] << ' -DFB_SONARKIT_ENABLED'
|
|
end
|
|
else
|
|
puts 'OTHER_SWIFT_FLAGS does not exist thus assigning it to `$(inherited) -Xcc -DFB_SONARKIT_ENABLED`'
|
|
config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -Xcc -DFB_SONARKIT_ENABLED'
|
|
end
|
|
app_project.save
|
|
end
|
|
end
|
|
installer.pods_project.save
|
|
end
|
|
end
|