【发布时间】:2014-01-23 20:12:33
【问题描述】:
我有一个用于为应用程序配置环境的 Rakefile,我遇到了一个问题,即 Rake 任务中止,因为特定的 Gem 安装在一个 preciding 任务中。
请看下面的 Rakefile,Rake 在:configure_db 任务中的require 'data_mapper' 行中止,:configure_db 被:build 调用,它前面的任务是:bower_install 和:bundle_install。
ENV['JASMINE_CONFIG_PATH'] = 'spec/js/support/jasmine.yml'
task :bower_install do
system 'bower install'
end
task :bundle_install => :bower_install do
system 'bundle install'
end
task :configure_db => :bundle_install do
require 'data_mapper'
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/vela.db")
require './models/User.rb'
DataMapper.finalize
DataMapper.auto_migrate!
end
desc "Starts the Rack server so we can run our tests"
task :default => :bundle_install do
require 'sinatra'
require 'rspec/core/rake_task'
require 'jasmine'
load 'jasmine/tasks/jasmine.rake'
RSpec::Core::RakeTask.new(:spec)
require './app'
system 'rackup -D'
Rake::Task["spec"].invoke
Rake::Task["jasmine:ci"].invoke
end
task :build => :configure_db
【问题讨论】:
标签: ruby-on-rails ruby sinatra rake rake-task