【发布时间】:2014-04-19 05:57:33
【问题描述】:
我正在构建一个具有菱形依赖项的 Rakefile,
A
/ \
B C
\ /
D
Rakefile 如下。
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
我应该怎么做才能让它工作?
【问题讨论】: