Hard to debug traces #83

zimbatm opened this Issue Oct 26, 2011 · 2 comments

2 participants


Taking the example of issue #82.

rake -t
** Invoke default (first_time)
** Invoke file1 (first_time, not_needed)
** Invoke foo (first_time)
** Invoke file2 (first_time, not_needed)
** Execute foo
** Execute default

Why was foo executed ? What kind of task is it ? It's not possible to tell just by inspecting the trace log.

Therefore, I propose to change the signature of the "Task#needed?" method returns a reason or nil instead of a boolean, to be re-used in the trace logs, and to also show the task type in the trace logs.

The "what kind of task is it" part is especially important because a task type is determined by it's first declaration. Even with namespaces, I had the case where a task would have two definitions and change behavior depending on the "rakelib/*.rake" inclusion order (which should have raised a conflict error, but this is another issue).


I would entertain patches (or even concrete suggestions) for improving the trace output.


Closing this for lack of feed back. Concrete suggestions for improvement are still welcome, just open a new request.

@jimweirich jimweirich closed this Feb 9, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment