我如何知道 rake 任务是从另一个任务还是从 shell 调用的? [英] How do I know if a rake task has been invoked from another task or from the shell?

查看:36
本文介绍了我如何知道 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆