Improve error reporting during recipe evaluation

* Report invalid action usages from tasks;
* Implement backtrace cleaning in CLI;
* Extract error class declarations in a new errors file;
* Replace raise with fail keyword in task DSL class.
This commit is contained in:
Thibault Jouan
2013-08-01 17:15:11 +00:00
parent 836f9ffc29
commit c4fc9828db
10 changed files with 56 additions and 17 deletions

View File

@@ -24,9 +24,10 @@ module Producer
env = Env.new(recipe)
begin
recipe.evaluate env
rescue Recipe::RecipeEvaluationError => e
@stdout.puts [e.backtrace.shift, e.message].join ': '
@stdout.puts e.backtrace
rescue RecipeEvaluationError => e
backtrace = e.backtrace.reject { |l| l =~ /\/producer-core\// }
@stdout.puts [backtrace.shift, e.message].join ': '
@stdout.puts backtrace
exit 70
end