This repository has been archived on 2020-05-27. You can view files and clone it, but cannot push or open issues/pull-requests.
binaryattraction/Rakefile

76 lines
2.2 KiB
Ruby
Raw Permalink Normal View History

2008-10-01 02:19:35 -04:00
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
##############################################################################