ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: Tool Integration Problems
Date Fri, 08 Dec 2000 05:04:12 GMT
At 11:39  7/12/00 -0500, you wrote:
>I may be beginning to see why the antitdote team resorted to parsing the
>build scripts themselves, as opposed to simply using the Project-Target-Task
>objects that Ant produces.


>It appears that a Task does not have to conform to JavaBean standards,
>meaning that there is no way for a tool to ascertain what value an attribute
>was set to. For example, given a particular Task such as, there
>is a setDir(File) method, but no getDir() method. Therefore, a tool that
>wants to display the value of "dir" to a user for editing is out of luck.
>The only alternative is to parse the XML file manually to obtain the value
>of these attributes.

Thats why I like the idea of a DOM-like structure. This DOM-like structure
can be read (and possibly writeable in special cases). This DOM-like
structure is then interpreted into a task object that is then executed.

>Is this a fairly correct statement?


>I know there are quite a few different efforts surrounding Ant right now
>that may or may not lead to significant changes in the structure. I saw some
>discussion relating to the creation of a new package (connector) for two-way
>tool integration. Has this started? (I think it is perhaps overkill.) 

connector stuff is just for running ant from within other tools. Ie there
could be vaj, jbuilder, emacs connectors...

>forcing Task authors to provide getters may be good enough. This can be
>validated at parse time (in IntrospectionHelper) for enforcement.

Not desirable. Only a small population of users will ever use the getters
but it constitutes a significant amount of work. Also how would you deal
with sub-elements.

>I feel if each tool is responsible for parsing a build file then we are in
>for a world of hurt regarding compatibility.

exactly ;)

Which is one of the reasons I made a recent proposal. If you have a look at
proposal/myrmidon it is specifically designed to be able to be hosted in
different environments. So it would be very trivial to write a GUI that
modified ant build-files and rerun them. It uses the DOM-like model and
interprests them and IMHO is relatively easy to develope extentions to -
but that is to be expected considering that was one of the main aims of
proposal. Thou I may be biased ;)



| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |

View raw message