Допустим, у меня есть такой 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' не удалась и должна быть прервана (мы надеемся, что будет отображаться значимое сообщение - например, какая задача не удалась) - единственное, что я могу сейчас придумать, - это вызвать там исключение, но это просто не кажется правильным.
PS Инструмент всегда возвращает 0 как код выхода.