Как заставить rake не выводить backtrace в случае ошибки?

Рейтинг: 1Ответов: 1Опубликовано: 25.03.2011

Использую rake и его Rakefile для автоматизации сборки и генерации документации. Удобный инструмент, но есть одна проблема.

В случае, если вызываемая команда (через sh) возвращает статус не ноль, то это рассматривается как ошибка, и бросается исключение, а выполнение task останавливается. Такое поведение меня устраивает, но из-за выброса исключения показывается длинный ruby-backtrace, который меня не интересует вообще, лишь скрывает от меня ошибки компилятора.

Искал, как можно отключить этот backtrace, нашёл такое решение:

sh "some command" do |t, ok|
  puts "error" if not ok
end

Работает, выполнение останавливается, backtrace не выводится. Но если использовать как зависимость в другом task, то это не работает: обрывается выполнение task с ошибкой, и он считается выполненным корректно, что является неправильным поведением.

Как заставить rake не выводить backtrace?

Ответы

Ответов пока нет.