[英]Rake abort tasks not executing in order
我有一个Rakefile,用于配置应用程序的环境,但由于在特定任务中安装了特定的Gem,Rake任务正在中止。
请参阅下面require 'data_mapper'
在:configure_db
任务中,行中的Rake中止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
就任务依赖性而言,此Rakefile与您的Rakefile等效:
task :a do
puts 'running task a'
end
task :b => :a do
puts 'running task b'
end
task :c => :b do
puts 'running task c'
end
task :d => :c do
puts 'running task d'
end
task :e => :c
它给了我以下结果:
$ rake a
running task a
$ rake b
running task a
running task b
$ rake c
running task a
running task b
running task c
$ rake d
running task a
running task b
running task c
running task d
$ rake e
running task a
running task b
running task c
那不是您所需要的吗? 我看不出问题出在哪里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.