ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ludovic Claude ...@websitewatchers.com>
Subject Big change
Date Sun, 27 Feb 2000 17:57:30 GMT
Hello,

I've made some major changes in Ant, you can test them by dowloading the
following
distribution. Basically, Ant now uses the Configuration from the Avalon
framework
(http://java.apache.org/framework/index.html), Sax parser can be used (including
Xerces),
properties are dynamically evaluated and the controversial ForEach is there,
plus lots of other small changes.
According to my tests, it's fully compatible with the existing ant.

Now i guess that some people will not be happy with the changes, and that a vote

will be required to merge this change, but i've simply listened to what people
asked for
on the mailing list and done it...

You can download  it and test it from:

http://www.ringsys.co.uk/opensource/Ant-1.0-experimental.zip
http://www.ringsys.co.uk/opensource/ant-diffs.txt

Full list of change is:

- Include a subset of the Avalon project (Java Apache Framework), with the
Configuration abstraction and an xml loader based on SAX. You get better error
reporting from the xml parser, and you can choose with parser to use (projectx,
xerces,...).

- Project, Target, Task become Configurable classes, and they can initialize
themselves
from their configuration

- An helper class (TaskHelper) has been created to configure easily the tasks
and
also to use introspection only once per class

- All tasks are still created at init but their properties are set just before
their
execution, thus the evaluation of ${NAME} becomes dynamic
 <property name="i" value="1" />
 <echo message="Value = ${i}" />
 <property name="i" value="2" />
 <echo message="Value = ${i}" />
 <property name="i" value="3" />
 <echo message="Value = ${i}" />
will print
 Value = 1
 Value = 2
 Value = 3
instead of
 Value = 1
 Value = 1
 Value = 1
as it was before.

- Tasks and beans can now have setters with String, boolean, int and float
parameter types.

- Each task implementing BaseTask can use local properties:
 <simpletask param1="foo" param2="${bar}" >
    <property name="bar" value="foo2" />
 </simpletask>
Note that the value of param2 is foo2

- Each task (implementing BaseTask) can use nested parameters to define its
parameter list
        <javadoc scr="." dest="/doc" />
can be written also as
        <javadoc>
           <param name="src" value="." />
           <param name="dest" value="/doc" />
        </javadoc>
It might be useful for javadoc and other tasks with a very long list of args


--
_____________________________________
Web Site Watchers Ltd
212 Piccadilly,
London W1V 9LD
United-Kingdom

Telephone: +44 (0)171 917 6255
Fax: +44 (0)171 439 0262

http://www.websitewatchers.co.uk
lc@websitewatchers.com



Mime
View raw message