Sha256: 07f458acc8e434cb91354d8259f4776b0d9f334fcf605e5b0f9d037d7a4bdcbb
Contents?: true
Size: 1.34 KB
Versions: 13
Compression:
Stored size: 1.34 KB
Contents
namespace :spree do namespace :freeze do desc "Lock this application to the current gems (by unpacking them into vendor/spree)" task :gems do # Do not allow freeze and unfreeze tasks in instance mode if File.directory? "#{RAILS_ROOT}/app" puts "Spree cannot be frozen in instance mode. Spree is meant to be frozen in a deployed Spree application only." return end require 'rubygems' require 'rubygems/gem_runner' Gem.manage_gems spree = (version = ENV['VERSION']) ? Gem.cache.search('spreee', "= #{version}").first : Gem.cache.search('spree').sort_by { |g| g.version }.last version ||= spree.version unless spree puts "No Spree gem #{version} is installed. Do 'gem list spree' to see what you have available." exit end puts "Freezing to the gems for Spree #{spree.version}" rm_rf "vendor/spree" chdir("vendor") do Gem::GemRunner.new.run(["unpack", "spree", "--version", "=#{version}"]) FileUtils.mv(Dir.glob("spree*").first, "spree") end end end # TODO - Support freeze from "edge" desc "Unlock this application from freeze of gems or edge and return to a fluid use of system gems" task :unfreeze do rm_rf "vendor/spree" end # TODO - Deal with updating javascript, etc. end
Version data entries
13 entries across 13 versions & 1 rubygems