我建立一個Rake文件具有鑽石的依賴,耙調用任務兩次-m
A
/\
B C
\/
D
和Rake文件如下。
task :default => :a
task :a => [:b, :c] do |t|
puts "#{t.name}"
end
task :b => :d do |t|
puts "#{t.name}"
end
task :c => :d do |t|
puts "#{t.name}"
end
task :d do |t|
puts "#{t.name}"
end
問題是使用多任務選項調用task :d
兩次。
$ rake -m
d
d
c
b
a
task :d
是應該在每次運行rake時調用的任務,但是在每次構建中都應該調用一次。
我考慮過使用filetask,但由於它實際上是一個向遠程服務器發送信號的任務,因此沒有該任務生成的文件。
我也試過下面的時間戳方法,但它沒有做任何改變。
def (task(:d)).timestamp
if @timestamp
@timestamp
else
@timestamp = Time.now
end
end
我應該怎麼做才能使它工作?
前提條件的任務不按順序運行,但同時,如果你'耙-m'。 – kukyakya
在這種情況下,我會跳過併發任務。 – archie