Допустим, у меня есть такой rakefile:
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, даже если внешнему инструменту не удается сгенерировать файл. Каков правильный способ сообщить rake, что задача «file1» не удалась и ее следует прервать (надеюсь, представив значимое сообщение — например, какая задача не удалась) — единственное, о чем я могу думать сейчас, это вызвать там исключение, но это просто не кажется правильным.
P.S. Инструмент всегда возвращает 0 в качестве кода выхода.