2014-01-23 2 views
0

응용 프로그램 환경을 구성하는 데 사용하는 Rakefile이 있습니다. 특정 Gem이 사전 작업에 설치되어 있기 때문에 Rake 작업이 중단되는 문제가 있습니다. 레이크 중단 작업이 순서대로 실행되지 않음

아래 Rakefile를 참조하십시오, 레이크가 :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 

답변

0

이 Rakefile은 작업 종속성의 측면에서 당신하는 것과 같습니다

$ 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 

가 당신이 필요로 정확히 일치하지 않음

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 

그것은 다음과 같은 결과 나에게 준다? 나는 문제가 어디 있는지 보지 못한다.

+0

번들 설치를 실행하기 전에 'data_mapper'가 실행되고있어 문제가 발생합니다. –

관련 문제