ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anthony Goubard <>
Subject ANT 1.7 features suggestion
Date Tue, 04 May 2004 17:00:43 GMT

A few weeks ago, there was a discussion about the new features in ANT 1.7.

I've made a list of features that I think would be useful in ANT and 
that I'd like to discuss on this mailing list.
Maybe some of you would have a usage of these new feature for your 
existing ANT code.

 1) Integrate if and unless at the Task level.
This would allow all ANT tasks to have the if and unless attribute (the 
same way that it has an id attribute).
So far the only way to do it is by using <target> except if you use one 
of the task which has already the "if" "unless" attributes such as <fail>.
I think ANT users would use this feature to remove some tartget created 
only for the purpose of the "if" or would remove the ant-contrib <if> task.

 2) Same thing for the components fileset, mapper, include?, ...
 3) Regexp conditions
 I think these conditions would be useful for ANT
 <containsregexp> and <matchesregexp>
 The first one would test a string if it contains a regular exression.
 The second one would test if a string matches a regular expression.
 Note that we don't need to create new conditions we could also extend 
the <equals> and <contains>
 4) Add an "overwrite" attribute at the property task.
 Properties are immutable but sometimes I think that you would like to 
change a propety.
 The way to do it is to use <antcall> with <param>, now you would be 
able to redefine an property with overwrite="true".
 5) Merge some jar files
 There are too many jar files in the lib directory, here is a 
proposition to reduce the number of jar files:
  Remove ant
  - Remove ant-launcher.jar and integrate the classes to ant.jar, this 
would also imply that the loading of the class Main is done using 
reflection and not using an interface as it is now.
  - I think that more than 50% of the users uses Java 1.4 and all the 
tasks that can be realized with 1.4 should be in the same jar file :
 xalan, xslp, swing, sound (it's even ok for me it's in ant-nodeps.jar)
  - put all J2EE tasks together
  - all tasks that uses apache or open source in ant-osi.jar 
(ant-commons-*.jar, ant-apache-*.jar, junit, ant-jakarta-*.jar, 
ant-jdepend.jar, ant-jsch.jar)
  - all tasks using external sun java lib (jmf, javamail, jai)
  Any other suggestion is welcome.

 6) Get the properties from a target after antcall
  At the moment if you have a target that define some properties, the 
only way to call it in order to get the values is using "depends".
  This is a problem as you may want to invoke your target not necessary 
at the beginning or you may want to pass some parameters.
  That's why it would be nice to have a "keepProperties" (or whatever) 
attribute to the <ant> and <antcall> task.
 Let me know if you want me to implement some of my ideas or report some 
of them in Bugzilla.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message