获取先前运行的rake任务的输出

时间:2015-04-09 10:40:57

标签: ruby rake rake-task

我有一个rake任务,它依赖于另一个任务,它解析其输出以确定失败或成功。

目前我这样做:

task :foo do
  puts "OK"
end

task :bar do
  if `bundle exec rake foo`.split(/\n/)[-1] == "OK" then
    puts "Everything went fine"
  else
    puts "Something went wrong"
    exit 1
  end
end

但是我宁愿不在子shell中运行依赖项,但是在task bar: :foo do中正确指定它,然后检查它的输出,这样可能吗?

1 个答案:

答案 0 :(得分:1)

按照这个,它从其他任务调用一个任务。它会有所帮助。

namespace :abc do
  task :aa do
    "ok"
  end

  task :bb do
    op = Rake::Task["abc:aa"].enhance(["abc:aa"])
    p "op=> #{op}"
  end
end