> 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?, ...
Why not on ProjectComponent? I thought about that ... but not very deeply. And on that level weŽll get problems with external tasks (on our own we can delete the if/unless-attributes, e.g. in junit-<test>). Maybe the namespace could be more helpful. "if/unless should accept a list". Then weŽd have to specify what should be true (how they are combined OR/AND/XOR): - if: AND - all properties have to be set - unless: OR - one property will stop the execution Another approach would be a new PropertyHelper. I thought about that when I had played with the JXPath-example in the proposals. More complicated logic could be realized then if="${logic: prop1 AND (prop2 OR prop3)}" > 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> is ok. > 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". I wouldnŽt merge the immutable/override theory ... If a user sees a property it should be immutable. AntContrib (and several others) has a <variable> task, which could be helpful. The question would be, if we want to introduce that? > 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. Have you trouble with the number of jars? I donŽt know how many I have in my ant\lib directory - it just works :-) I have no problems with Eclipse (3.0M7) on Win2000... More useful would be breaking Ant into several modules - AntLibs. Plus an automatic loading if they are in a special place (e.g. in ant/lib :-) I would prefer make the Ant-launcher more general, so that you could use that in your own projects. Regarding JDK 1.4 I aggree with Ken - I would prefer the 1.4 or 1.5, too. But IŽd managed the software environment of a large project (200+ developers) and the test scenario was very ... nerve-racking. > 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. Sounds for a <return> task or a <antcall returnproperty=""/>. > Let me know if you want me to implement some of my ideas or > report some > of them in Bugzilla. Better here, but we can put a link to the mail-archive on that bugid. I think there are some basic modifications: - if/unless on task/component-level (1,2) - overidable variables (4) - return values (6) They are useful, indeed, but then we would move the buildfile more into a scripting language. And if a scripting language - why xml-based? We could spend some time on other things - especially because Groovy has a nice AntBuilder... Jan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]