incubator-easyant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Purkayastha, Siddhartha" <Siddhartha.Purkayas...@ca.com>
Subject Command Line Debugging
Date Sun, 29 May 2011 11:46:08 GMT
Hello All -
 
I wanted to discuss an idea with you about diagnostics. When considering about diagnostics,
it should comprise of a set of tools that can help me diagnose issues I am facing with my
build. Ant -diagnostics returns lots of variables that can be valuable to resolving environment
/ setup issues. 
 
I am thinking of the possibility of a Command Line Debugger / Inspector included within EasyAnt
(or may be even Ant itself). I am not aware if such a tool already exists.
 
It could behave something like this: 
I can run:
             ant -breakAt=someTarget
 
The breakAt parameter could indicate a breakpoint at target 'someTarget'. The user could be
interactively displayed a prompt here:
        breakpoint:
         [Debugger] DEBUGGER>
 
Where the user could issue a set of commands to inspect the state of the build so far.
 
For example:
         breakpoint:
                 [Debugger] DEBUGGER> inspect some.property
                Property Value: HelloWorld

The same idea could be extended to include other build factors, like paths, imported plugins
etc. It may actually be extended to become a fully featured command line debugger, from where
one can also set new property values or override existing values (probably a relaxation of
immutability for the support of this tool) etc, do step over, step into etc.
 
I did some experiments with this concept, I was able to break at a certain target and inspect
values of properties that user wants to see, using a new target created at Runtime, with a
single task that accepted user inputs from command line, interpreted it and displayed an output
- And kept on doing so till the user typed 'return' on the prompt. I also think, as an extension
- if we can also track audit history of different properties, paths, references etc, then
this could be an effective tool. However, I do not think it is easily achievable today. 
 
I am wondering about the technical feasibility and utility of such an inbuilt tool. Can you
share your thoughts on this?
 
Thanks,
Siddhartha

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message