ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dhananjay Nene" <>
Subject Requesting Feedback - Release Announcement - antxmltasks 0.1 alpha
Date Tue, 25 Feb 2003 17:45:39 GMT
Announcing the release of antxmltasks 0.1 alpha ( preview release).
Seek your feedback as detailed below. The project page on is

Summary :
antxmltasks is a package containing a number of tasks for ant which
extend its capabilities to dynamically figure out the tasks to be
executed based on applying xpath expressions on an xml document.
One of the differentiators of this package is the extensive use
of data in external xml document and xpath expressions to navigate
that data (Something I believe enormously enhances the power of ant
- but then you would expect me to ;-) ).

The important tasks included are :

    ForEach : allow recursion based on results of evaluation xpath
    Choose:  wrapper which nests "ConditionalTask" and "DefaultTask" tasks.
    ConditionalTask : Task associated with a condition (xpath expression).
          Task is executed only of condition evaluates to true. Meant to
          represent the "if" / "when" / "case" blocks within "if-else"/
          "choose-when-otherwise"/"switch-case-default" constructs.
    DefaultTask : Task without a condition which is executed if none of the
          conditions associated with the ConditionalTasks in the same block
          evaluate to true
    ValueOf : Set properties based on evaluation of xpath expressions

The datatypes added are :
    XmlDocument : represents an xml document
    XPathSelection : represents the results of applying an xpath on a

How do I quickly understand the value proposition ?
How do I run the test ?

Make sure you have ant set up on your machine properly. Download the release
from the download directory at Extract the
antxmltasks archive, go to the test directory. Inspect the modules.xml
(data file for antxmltasks) and test.xml (the build file using antxmltasks
constructs). Run test.bat. (Unix Users : execute the corresponding code from
your shell prompt - it is only two lines).

Is this a stable release ?
No. The only testing done is against the files test.xml and modules.xml in
test subdirectory. This is primarily a release meant to elicit feedback and
beta/final release is targeted to be released by the third week of March

So where do I send the feedback ?
You may send it to the
Why new tasks ? Yet another foreach ?
Consider a scenario where an installer application allows the user to choose
specific modules to be installed. Subsequently such an installer might list
out the modules that need to be built and installed. Thus the targets to be
built are dynamic for each execution of the ant build file. Ant in itself
not "seem" to support such amount of dynamism. A real business need
this package and I could not figure out a better way of doing it.

Need your feedback :
This is version 0.1 of antxmltasks. It is a alpha release with sufficient
functionality coverage to be able to discuss the necessity and shape of a
such as this. The only testing that has been done against this is using the
and modules.xml files included in the distribution. So it is likely that
there are
few bugs that need to be ironed out.

I am releasing this at this stage for a public preview and invite comments
the following items :

  General / Conceptual :
    Is this a reasonable approach ? Are there any better approaches ?
    Are there other tasks out there which do something similar ?
    Any comments on the task structure ?
    Any additional features that you would like to see being implemented ?
  XPath evaluation
    This package does not include variable resolution in xpath expressions.
       Can one think of reasonable scenarios where such capability will be
    Comments on the class model to abstract the xml document parser and
xpath engine
  Any other comments that you may want to add

I intend to resume development in the first week of March, 2003  based on
the comments
received and release a beta / final version by the third week of March.

Dhananjay Nene
February 25, 2003

View raw message