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. 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.) Simply forcing Task authors to provide getters may be good enough. This can be validated at parse time (in IntrospectionHelper) for enforcement. I feel if each tool is responsible for parsing a build file then we are in for a world of hurt regarding compatibility. Feedback? jim
