繁体   English   中英

耙中止任务未按顺序执行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM