# Rakefile for creating/installing Rails gems from trunk. Use it as such: # # svn co http://www.rubyonrails.org/svn/rails/trunk rails # mv Rakefile rails/ # cd rails # rake # # And so forth and so on. # # This is released under the following license: # # Use however you'd like. But if you try to pass it off as your own, man # you're just really lame. This is completely trivial! # # Scott Barron require 'yaml' DIRS = %w(activesupport activerecord actionpack actionwebservice actionmailer railties) PKGS = %w(activesupport activerecord actionpack actionwebservice actionmailer rails) desc 'Default Task (install without rdocs)' task :default => [:install] desc 'Update from SVN' task :update do `svn up` end desc 'Remove assembled gems' task :clean do Dir['*/pkg/*.gem'].each { |g| File.unlink g } end PKGS.each do |d| eval <<-EOS desc 'Uninstall #{d} gem' task :ugem_#{d} do `yes|sudo gem uninstall #{d}` end EOS end desc 'Build gems' multitask :uninstall => PKGS.map {|d| "ugem_#{d}".intern } do end DIRS.each do |d| eval <<-EOS desc 'Build #{d} gem' task :gem_#{d} do revision = YAML.load(`svn info`)['Revision'] `cd #{d}; PKG_BUILD=\#{revision} rake gem` end EOS end desc 'Build gems' multitask :gem => DIRS.map {|d| "gem_#{d}".intern } do end multitask :prepare => [:update, :clean, :uninstall] do end desc 'Install all the gems (without rdocs)' task :install => [:prepare, :gem] do DIRS.each { |p| `yes|sudo gem install --no-rdoc #{p}/pkg/*.gem` } end