34 lines
738 B
Ruby
34 lines
738 B
Ruby
require 'rspec/core/rake_task'
|
|
require 'cucumber/rake/task'
|
|
|
|
|
|
RSpec::Core::RakeTask.new('spec') do |t|
|
|
t.rspec_opts = '--color --fail-fast --order random'
|
|
end
|
|
|
|
Cucumber::Rake::Task.new('cucumber')
|
|
|
|
|
|
BUNDLER_VARS = %w(BUNDLE_GEMFILE RUBYOPT GEM_HOME)
|
|
def with_clean_env
|
|
begin
|
|
bundled_env = ENV.to_hash
|
|
BUNDLER_VARS.each{ |var| ENV.delete(var) }
|
|
yield
|
|
ensure
|
|
ENV.replace(bundled_env.to_hash)
|
|
end
|
|
end
|
|
|
|
namespace :gems do
|
|
desc 'Vendor the gems in Gemfile.deploy'
|
|
task :vendor do
|
|
with_clean_env do
|
|
sh 'bundle install --deployment --standalone=vendor --gemfile=Gemfile.deploy --path=vendor'
|
|
sh 'bundle install --no-deployment'
|
|
end
|
|
end
|
|
end
|
|
|
|
task :default => [:spec, :cucumber]
|