ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jose Alberto Fernandez" <>
Subject [PATCH Antlib proposal] Second installment
Date Sun, 17 Feb 2002 03:30:58 GMT

This is the second installment on the <antlib> proposal for ANT1.x. It contains the

- A patch file with changes for the files already in existance.

- A zip file with new files to be added to proposal/sandbox/antlib/src

With this installment, ProjectHelper and IntrospectionHelper have changed to use the new Role
mechanism for finding and construction tasks. And datatypes are created in such a manner that
the type rules are not circumvented. 

In addition there is a testcase for testing <antjar> and <antlib>.

The new code passes all the testcases defined for ANT except for two:

1) A test where the expected error message is now different.

2) One of the tests for the <description> element. Which cannot be used the way it was
the special rules it was using now are more strict and consistent. See discussion later.

I still think I can do further cleanup of the code and eliminate more of the special code
in ProjectHelper
but that would be as part of the third installment.

Can one of the committers try a GUMP run using this version so as to find out any broken things?

The problem with <description>:

<description> elements as direct children of <project> work fine as expected.
What it works differently are
<description> elements inside <target>. 

The way <description> was implemented, nodes inside <target> where added to the
Project description during
instantiation of the project. However, nodes inside tasks implementing TaskContainer were
not taken into consideration.
Now all TaskContainers are treated equally, including Target, hence the discrepancy.

There are several ways of resolve the issue:

1) Make <description> only available at <project> level.

2) Change implementation of <description> so that is treated as part of the syntax of
<project> and <target>
instead of using a <datatype> that works by sideeffect.

We can always keep the task arround for backward compatibility purposes.

Jose Alberto

View raw message