Removed Hoe code, dependency.
[merb_radiant.git] / lib / tasks / instance.rake
blobfa21b6f7bb0e3893f81668b5ce77d0a4ef2b107e
1 # Redefined standard Rails tasks only in instance mode
2 unless File.directory? "#{Merb.root}/app"
3   require 'rake/testtask'
4   
5   ENV['MERB_RADIANT_ENV_FILE'] = File.join(Merb.root, 'config', 'environment')
6   
7   Dir["#{MERB_RADIANT_ROOT}/vendor/rails/railties/lib/tasks/*.rake", "#{MERB_RADIANT_ROOT}/vendor/plugins/rspec_on_rails/tasks/*.rake"].each do |rake|
8     lines = IO.readlines(rake)
9     lines.map! do |line|
10       line.gsub!('Merb.root', 'MERB_RADIANT_ROOT') unless rake =~ /(misc|rspec)\.rake$/
11       case rake
12       when /testing\.rake$/
13         line.gsub!(/t.libs << (["'])/, 't.libs << \1' + MERB_RADIANT_ROOT + '/')
14         line.gsub!(/t\.pattern = (["'])/, 't.pattern = \1' + MERB_RADIANT_ROOT + '/')
15       when /databases\.rake$/
16         line.gsub!(/migrate\((["'])/, 'migrate(\1' + MERB_RADIANT_ROOT + '/')
17         line.sub!("db/schema.rb", "#{Merb.root}/db/schema.rb")
18       when /rspec\.rake$/
19         line.gsub!('Merb.root', 'MERB_RADIANT_ROOT') unless line =~ /:noop/
20         line.gsub!(/FileList\[(["'])/, "FileList[\\1#{MERB_RADIANT_ROOT}/")
21       end
22       line
23     end
24     eval(lines.join("\n"), binding, rake)
25   end
26 end