Sha256: 9ecede56a03cfb41a7043aff09f82503325171c207148b3572ca4d986808f0c1
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
require_relative "base" require_relative "fetcher" require_relative "pusher" module PodPrebuild class CachePrebuilder < CommandExecutor def initialize(options) super(options) @cache_branch = options[:cache_branch] @push_cache = options[:push_cache] @fetcher = PodPrebuild::CacheFetcher.new(options) @pusher = PodPrebuild::CachePusher.new(options) end def run @fetcher.run prebuild changes = PodPrebuild::JSONFile.new(@config.prebuild_delta_path) return if changes.empty? sync_cache(changes) @pusher.run if @push_cache end private def prebuild Pod::UI.step("Installation") do installer.install! end end def sync_cache(changes) Pod::UI.step("Syncing cache") do FileUtils.cp(@config.manifest_path, @config.manifest_path(in_cache: true)) clean_cache(changes["deleted"]) zip_to_cache(changes["updated"]) end end def zip_to_cache(pods_to_update) FileUtils.mkdir_p(@config.generated_frameworks_dir(in_cache: true)) pods_to_update.each do |pod| Pod::UI.puts "- Update cache: #{pod}" ZipUtils.zip( "#{@config.generated_frameworks_dir}/#{pod}", to_dir: @config.generated_frameworks_dir(in_cache: true) ) end end def clean_cache(pods_to_delete) pods_to_delete.each do |pod| Pod::UI.puts "- Clean up cache: #{pod}" FileUtils.rm_rf("#{@config.generated_frameworks_dir(in_cache: true)}/#{pod}.zip") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cocoapods-binary-cache-0.1.8 | lib/command/executor/prebuilder.rb |