diff options
author | Jamis Buck <jamis@37signals.com> | 2005-11-07 18:09:31 +0000 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2005-11-07 18:09:31 +0000 |
commit | c2eb22e5c69caba0f9eeb5b95558837d0d572f44 (patch) | |
tree | 9887f9092d8ead7369bca04ef5518b261408142f /railties/lib | |
parent | 63e30a5cae7140742059804998371f4e0596f549 (diff) | |
download | rails-c2eb22e5c69caba0f9eeb5b95558837d0d572f44.tar.gz rails-c2eb22e5c69caba0f9eeb5b95558837d0d572f44.tar.bz2 rails-c2eb22e5c69caba0f9eeb5b95558837d0d572f44.zip |
Add 'add_new_scripts' rake task for adding new rails scripts to script/*
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2926 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/lib')
-rw-r--r-- | railties/lib/tasks/framework.rake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/railties/lib/tasks/framework.rake b/railties/lib/tasks/framework.rake index 2c1d8fc451..dd41873c84 100644 --- a/railties/lib/tasks/framework.rake +++ b/railties/lib/tasks/framework.rake @@ -50,3 +50,22 @@ desc "Unlock this application from freeze of gems or edge and return to a fluid task :unfreeze_rails do rm_rf "vendor/rails" end + +desc "Add new scripts to the application script/ directory" +task :add_new_scripts do + local_base = "script" + edge_base = "#{File.dirname(__FILE__)}/../../bin" + + local = Dir["#{local_base}/**/*"].reject { |path| File.directory?(path) } + edge = Dir["#{edge_base}/**/*"].reject { |path| File.directory?(path) } + + edge.each do |script| + base_name = script[(edge_base.length+1)..-1] + next if base_name == "rails" + next if local.detect { |path| base_name == path[(local_base.length+1)..-1] } + if !File.directory?("#{local_base}/#{File.dirname(base_name)}") + mkdir_p "#{local_base}/#{File.dirname(base_name)}" + end + install script, "#{local_base}/#{base_name}", :mode => 0655 + end +end
\ No newline at end of file |