require 'rubygems' Gem.clear_paths Gem.path.unshift(File.join(File.dirname(__FILE__), "gems")) require 'rake' require 'rake/rdoctask' require 'rake/testtask' require 'spec/rake/spectask' require 'fileutils' ## # requires frozen merb-core (from /framework) # adds the other components to the load path def require_frozen_framework framework = File.join(File.dirname(__FILE__), "framework") if File.directory?(framework) puts "Running from frozen framework" core = File.join(framework,"merb-core") if File.directory?(core) puts "using merb-core from #{core}" $:.unshift File.join(core,"lib") require 'merb-core' end more = File.join(framework,"merb-more") if File.directory?(more) Dir.new(more).select {|d| d =~ /merb-/}.each do |d| $:.unshift File.join(more,d,'lib') end end plugins = File.join(framework,"merb-plugins") if File.directory?(plugins) Dir.new(plugins).select {|d| d =~ /merb_/}.each do |d| $:.unshift File.join(plugins,d,'lib') end end require "merb-core/core_ext/kernel" require "merb-core/core_ext/rubygems" else p "merb doesn't seem to be frozen in /framework" require 'merb-core' end end if ENV['FROZEN'] require_frozen_framework else require 'merb-core' end require 'merb-core/tasks/merb' include FileUtils # Load the basic runtime dependencies; this will include # any plugins and therefore plugin rake tasks. init_env = ENV['MERB_ENV'] || 'rake' Merb.load_dependencies(:environment => init_env) # Get Merb plugins and dependencies Merb::Plugins.rakefiles.each { |r| require r } # Load any app level custom rakefile extensions from lib/tasks tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks") rake_files = Dir["#{tasks_path}/*.rake"] rake_files.each{|rake_file| load rake_file } desc "start runner environment" task :merb_env do Merb.start_environment(:environment => init_env, :adapter => 'runner') end ############################################################################## # ADD YOUR CUSTOM TASKS IN /lib/tasks # NAME YOUR RAKE FILES file_name.rake ##############################################################################