我如何知道 rake 任务是从另一个任务还是从 shell 调用的? [英] How do I know if a rake task has been invoked from another task or from the shell?
本文介绍了我如何知道 rake 任务是从另一个任务还是从 shell 调用的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我们有:
task :something => [:something_else] do
# some of stuff
end
task :something_else do
# some verbose stuff
# some quiet stuff
end
现在我希望 something_else
在从 shell (rake something_else
) 调用时执行冗长的操作,而在作为依赖项调用时执行静默的操作以 rake something
.
Now I want something_else
to do the verbose stuff when called from the shell (rake something_else
) and the silent ones when called as a dependency to rake something
.
推荐答案
我认为改用参数或不同的任务可能是一个更好的主意.
i think it might be a better idea to work with parameters or different tasks instead.
你可以做的一件事就是寻找这样的顶级任务:
one thing that you could do is look for top-level task like that:
task :something_else do |t|
puts "some verbose stuff" if t.application.top_level_tasks.include? 'something_else'
puts "some quiet stuff"
end
这篇关于我如何知道 rake 任务是从另一个任务还是从 shell 调用的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文