You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Sam Ruby <ru...@us.ibm.com> on 2001/01/15 21:04:38 UTC

Re: The two views of Ant's future direction

Diane Holt:
>
> I'm wondering if we could have the
> true-to-the-nonscripting-purists' vision of Ant as Basic
> Ant, then have the scripting-capabilities as extensions
> to that. Would it need another name? I don't know (but
> 'extant' comes to mind .

Once upon a time, Pier suggested the name "elephANT" for such a beast...
<grin>

I created the current <script> task and at the same time laid the early
foundation for optional tasks as I had come to the same conclusion then
that you have now.

Personally, I don't have any objection to the OPTION, I just have concerns
about their USE.  I would prefer if neither the build.xml files for either
the minimal and full version of Ant use these features, if for no other
reason than for bootstrapping.

> Should Ant2 allow for the possibility of being extended
> to include the types of tasks such as <if>, <for>,
> <case>? I think so.

I've been quiet on this subject for a while now, but here are my comments
for what it is worth.

For starters, I'd prefer if those not be tasks.  It is only a small leap
from wanting to do:

   <project default="main">
     <target name="main">
       <if test="${env}">
         <foo>
           <bar/>
         <foo>
       </if>
     </target>
   </project>

To:

   <project default="main">
     <target name="main">
       <foo>
         <if test="${env}">
           <bar/>
         </if>
       </foo>
     </target>
   </project>

Next, so that these tags don't get confused with others, I'd suggest adding
a namespace designation:

   <project default="main">
     <target name="main">
       <foo>
         <ant:if test="${env}">
           <bar/>
         </ant:if>
       </foo>
     </target>
   </project>

Finally, whether you personally are a fan of XSLT or not, it might ease the
learning curve of some if the names of these elements and attributes are
not gratiuitously different from those used in XSLT.  For example, use
<ant:choose> instead of <ant:select>

- Sam Ruby