比方說,我有一個Rake文件是這樣的:如何在ruby rake中顯式地失敗任務?
file 'file1' => some_dependencies do
sh 'external tool I do not have control over, which sometimes fail to create the file'
???
end
task :default => 'file1' do
puts "everything's OK"
end
現在,如果我把沒有到位???的,我得到的OK消息,即使外部工具無法生成文件。什麼是正確的方式來通知耙,'file1'任務失敗,它應該中止(希望提出一個有意義的消息 - 就像哪個任務失敗) - 我現在能想到的唯一想法是提出一個例外,但那只是看起來不正確。
P.S該工具始終返回0作爲退出代碼。
['fail'](http://ruby-doc.org/core-2.0/Kernel.html#method-i-fail)只是['raise']的別名(http:// ruby- doc.org/core-2.0/Kernel.html#method-i-raise) – Stefan 2013-07-23 21:18:50
你是對的。更新我的答案以表明這一點。 – 2013-07-28 04:42:05
鏈接已損壞。 – 2014-09-13 18:33:10