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 Mkdir.java, 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. right. 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? yep. >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... >Simply >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 ;) Cheers, Pete *-----------------------------------------------------* | "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 | *-----------------------------------------------------*
