From 8cfcc04d08860dcff16a97901acc1538e4cf6e20 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 15 Oct 2005 15:00:15 +0000 Subject: [PATCH] Added Rails framework freezing tasks: freeze_gems (freeze to current gems), freeze_edge (freeze to Rails SVN trunk), unfreeze_rails (float with newest gems on system) git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2613 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- railties/CHANGELOG | 2 ++ railties/lib/tasks/framework.rake | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 railties/lib/tasks/framework.rake diff --git a/railties/CHANGELOG b/railties/CHANGELOG index 4cd8572d00..f26478836c 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added Rails framework freezing tasks: freeze_gems (freeze to current gems), freeze_edge (freeze to Rails SVN trunk), unfreeze_rails (float with newest gems on system) + * Added update_javascripts task which will fetch all the latest js files from your current rails install. Use after updating rails. [Tobias Luetke] * Added cleaning of RAILS_ROOT to useless elements such as '../non-dot-dot/'. Provides cleaner backtraces and error messages. [Nicholas Seckar] diff --git a/railties/lib/tasks/framework.rake b/railties/lib/tasks/framework.rake new file mode 100644 index 0000000000..fe2a8c09b8 --- /dev/null +++ b/railties/lib/tasks/framework.rake @@ -0,0 +1,31 @@ +desc "Lock this application to the current gems (by unpacking them into vendor/rails)" +task :freeze_gems do + rm_rf "vendor/rails" + mkdir_p "vendor/rails" + + for gem in %w( actionpack activerecord actionmailer activesupport actionwebservice ) + system "cd vendor/rails; gem unpack #{gem}; mv #{gem}* #{gem}" + end + + system "cd vendor/rails; gem unpack rails; mv rails* railties" +end + +desc "Lock this application to the Edge Rails (by exporting from Subversion)" +task :freeze_edge do + $stderr.close + svn_available = `svn --version`.size > 0 + raise "Subversion is not installed" unless svn_available + + rm_rf "vendor/rails" + mkdir_p "vendor/rails" + + for framework in %w( railties actionpack activerecord actionmailer activesupport actionwebservice ) + mkdir_p "vendor/rails/#{framework}" + system "svn export http://dev.rubyonrails.org/svn/rails/trunk/#{framework}/lib vendor/rails/#{framework}/lib" + end +end + +desc "Unlock this application from freeze of gems or edge and return to a fluid use of system gems" +task :unfreeze_rails do + rm_rf "vendor/rails" +end \ No newline at end of file