Permalink
Browse files

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
  • Loading branch information...
1 parent 63e30a5 commit c2eb22e5c69caba0f9eeb5b95558837d0d572f44 @jamis jamis committed Nov 7, 2005
Showing with 21 additions and 3 deletions.
  1. +2 −0 railties/CHANGELOG
  2. +0 −3 railties/bin/lighttpd
  3. +19 −0 railties/lib/tasks/framework.rake
View
@@ -1,5 +1,7 @@
*SVN*
+* Add 'add_new_scripts' rake task for adding new rails scripts to script/* [Jamis Buck]
+
* Remove bogus hyphen from script/process/reaper calls to 'ps'. #2767 [anonymous]
* Copy lighttpd.conf when it is first needed, instead of on app creation [Jamis Buck]
@@ -1,3 +0,0 @@
-#!/usr/local/bin/ruby
-require File.dirname(__FILE__) + '/../config/boot'
-require 'commands/lighttpd'
@@ -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

0 comments on commit c2eb22e

Please sign in to comment.