Как явным образом провалить задачу в ruby ​​rake?

Допустим, у меня есть такой 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 как код выхода.

47
задан dahpgjgamgan 20 September 2010 в 16:48
поделиться