Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 2941

Show
Ignore:
Timestamp:
11/08/05 10:43:40 (3 years ago)
Author:
bitsweat
Message:

Correct versioning in :freeze_gems Rake task. Closes #2778.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/railties/CHANGELOG

    r2933 r2941  
    11*SVN* 
     2 
     3* Correct versioning in :freeze_gems Rake task.  #2778 [jakob@mentalized.net, Jeremy Kemper] 
    24 
    35* Added an omnipresent RailsInfoController with a properties action that delivers an HTML rendering of Rails::Info (but only when local_request? is true). Added a new default index.html which fetches this with Ajax. [Sam Stephenson] 
  • trunk/railties/lib/tasks/framework.rake

    r2932 r2941  
    11desc "Lock this application to the current gems (by unpacking them into vendor/rails)" 
    22task :freeze_gems do 
     3  deps = %w(actionpack activerecord actionmailer activesupport actionwebservice) 
     4  require 'rubygems' 
     5 
     6  rails = if version = ENV['VERSION'] 
     7            Gem.cache.search('rails', "= #{version}").first 
     8          else 
     9            Gem.cache.search('rails').sort_by { |g| g.version }.last 
     10          end 
     11 
     12  unless rails 
     13    puts "No rails gem #{version} is installed.  Do 'gem list rails' to see what you have available." 
     14    exit 
     15  end 
     16 
     17  puts "Freezing to the gems for Rails #{rails.version}" 
    318  rm_rf   "vendor/rails" 
    419  mkdir_p "vendor/rails" 
    520 
    6   deps = %w( actionpack activerecord actionmailer activesupport actionwebservice ) 
    7   if version = ENV['VERSION'] 
    8     puts "Freezing to the gems for Rails #{version}" 
    9     require 'rubygems' 
    10     if rails = Gem.cache.search('rails', "= #{version}") 
    11       rails.dependencies.select { |g| deps.include? g.name }.each do |g| 
    12         system "cd vendor/rails; gem unpack -v '#{g.version_requirements}' #{g.name}; mv #{g.name}* #{g.name}" 
    13       end 
    14       system "cd vendor/rails; gem unpack -v '= #{version}' rails" 
    15     else 
    16       puts "No rails gem version #{version} is installed.  Do 'gem list rails' to see which versions you have available." 
    17       exit 
    18     end 
    19   else 
    20     puts "Freezing to your latest Rails gems" 
    21     for gem in deps 
    22       system "cd vendor/rails; gem unpack #{gem}" 
    23       FileUtils.mv(Dir.glob("vendor/rails/#{gem}*").first, "vendor/rails/#{gem}") 
    24     end 
    25     system "cd vendor/rails; gem unpack rails" 
     21  rails.dependencies.select { |g| deps.include? g.name }.each do |g| 
     22    system "cd vendor/rails; gem unpack -v '#{g.version_requirements}' #{g.name}; mv #{g.name}* #{g.name}" 
    2623  end 
     24  system "cd vendor/rails; gem unpack -v '= #{version}' rails" 
     25 
    2726  FileUtils.mv(Dir.glob("vendor/rails/rails*").first, "vendor/rails/railties") 
    2827end