require 'rubygems' require 'rake' volatile_requires = ['rcov/rcovtask'] not_loaded = [] volatile_requires.each do |file| begin require file rescue LoadError not_loaded.push file end end # For some crazy reason, # some Rake tasks interfere with others # (specifically, benchmarking). # Thus, it's advantageous to only show # the task currently being used. def is_task?(*tasks) ARGV[0].nil? || tasks.include?(ARGV[0]) end # ----- Default: Testing ------ desc 'Default: run unit tests.' task :default => :test if is_task?('test', 'default') require 'rake/testtask' desc 'Test the Haml plugin' Rake::TestTask.new(:test) do |t| t.libs << 'lib' t.pattern = 'test/**/*_test.rb' t.verbose = true end end # ----- Benchmarking ----- if is_task?('benchmark') temp_desc = <