@@ -12,14 +12,15 @@ XCODE_WORKSPACE = 'WordPress.xcworkspace'
1212XCODE_SCHEME = 'WordPress'
1313XCODE_CONFIGURATION = 'Debug'
1414EXPECTED_XCODE_VERSION = File . read ( '.xcode-version' ) . rstrip
15+ GUTENBERG_VERSION = 'v1.121.0'
1516
1617PROJECT_DIR = __dir__
1718abort ( 'Project directory contains one or more spaces – unable to continue.' ) if PROJECT_DIR . include? ( ' ' )
1819
1920task default : %w[ test ]
2021
2122desc 'Install required dependencies'
22- task dependencies : %w[ dependencies:check assets:check ]
23+ task dependencies : %w[ dependencies:check assets:check dependencies:gutenberg_xcframeworks ]
2324
2425namespace :dependencies do
2526 task check : %w[ ruby:check bundler:check bundle:check credentials:apply ]
@@ -100,6 +101,27 @@ bundle exec fastlane run configure_apply force:true
100101 sh ( command )
101102 end
102103 end
104+
105+ desc 'Download and extract Gutenberg xcframeworks'
106+ task :gutenberg_xcframeworks do
107+ puts 'Setting up Gutenberg xcframeworks...'
108+
109+ frameworks_dir = 'WordPress/Frameworks'
110+ gutenberg_tar_gz_download_path = "#{ frameworks_dir } /Gutenberg.tar.gz"
111+
112+ sh "mkdir -p #{ frameworks_dir } "
113+ sh "curl https://cdn.a8c-ci.services/gutenberg-mobile/Gutenberg-#{ GUTENBERG_VERSION } .tar.gz --output #{ gutenberg_tar_gz_download_path } -C -"
114+ sh "tar -xf #{ gutenberg_tar_gz_download_path } -C #{ frameworks_dir } / -k"
115+ sh "mv -n #{ frameworks_dir } /Frameworks/*.xcframework #{ frameworks_dir } /"
116+ sh "rm -rf #{ frameworks_dir } /Frameworks #{ frameworks_dir } /dummy.txt"
117+
118+ FileUtils . mkdir_p [
119+ "#{ frameworks_dir } /hermes.xcframework/ios-arm64/dSYMs" ,
120+ "#{ frameworks_dir } /hermes.xcframework/ios-arm64_x86_64-simulator/dSYMs"
121+ ]
122+
123+ puts 'Gutenberg xcframeworks setup complete'
124+ end
103125end
104126
105127namespace :assets do
0 commit comments