2011-06-19 20:11:22 +00:00
|
|
|
include Rake::DSL if defined?(Rake::DSL)
|
|
|
|
|
2011-04-11 10:24:07 +00:00
|
|
|
require 'bundler'
|
|
|
|
Bundler::GemHelper.install_tasks
|
2011-06-07 19:04:11 +00:00
|
|
|
|
|
|
|
require 'rspec/core/rake_task'
|
|
|
|
|
|
|
|
RSpec::Core::RakeTask.new(:spec)
|
|
|
|
|
2011-07-15 21:44:03 +00:00
|
|
|
$: << File.expand_path('../lib', __FILE__)
|
|
|
|
|
2011-09-01 14:39:29 +00:00
|
|
|
require 'jasmine-headless-webkit'
|
2011-07-15 21:44:03 +00:00
|
|
|
require 'jasmine/headless/task'
|
|
|
|
|
|
|
|
Jasmine::Headless::Task.new
|
|
|
|
|
2011-10-10 13:32:27 +00:00
|
|
|
PLATFORMS = %w{1.8.7 1.9.2 ree 1.9.3-rc1}
|
|
|
|
|
|
|
|
def rvm_bundle(command = '')
|
|
|
|
Bundler.with_clean_env do
|
2011-10-17 18:36:40 +00:00
|
|
|
system %{bash -c 'unset BUNDLE_BIN_PATH && unset BUNDLE_GEMFILE && rvm #{PLATFORMS.join(',')} do bundle #{command}'}
|
2011-10-10 13:32:27 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
class SpecFailure < StandardError; end
|
|
|
|
class BundleFailure < StandardError; end
|
|
|
|
|
2011-06-07 19:04:11 +00:00
|
|
|
namespace :spec do
|
|
|
|
desc "Run on three Rubies"
|
|
|
|
task :platforms do
|
2011-10-10 13:32:27 +00:00
|
|
|
rvm_bundle
|
|
|
|
rvm_bundle "exec rspec spec"
|
|
|
|
raise SpecError.new if $?.exitstatus != 0
|
2011-06-07 19:04:11 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-07-15 21:44:03 +00:00
|
|
|
task :default => [ 'spec:platforms', 'jasmine:headless' ]
|
2011-06-07 19:04:11 +00:00
|
|
|
|
2011-07-19 14:41:23 +00:00
|
|
|
desc "Build the runner"
|
2011-08-10 13:02:11 +00:00
|
|
|
task :build_runner do
|
|
|
|
Dir.chdir 'ext/jasmine-webkit-specrunner' do
|
2011-07-19 14:41:23 +00:00
|
|
|
system %{ruby extconf.rb}
|
|
|
|
end
|
|
|
|
end
|
2011-10-10 13:32:27 +00:00
|
|
|
|