I actually wanted to discuss Java 7 on the list. I went through its features a while ago and got really excited when I read through NIO 2.0. It does so much that Ant has to struggle with, and so much that Ant can't do.

I spent some time starting to implement a very simple (only a few tasks) new version of Ant that started from Java 7. Personal issues have taken me out of the game for a while, but I've still been wondering, could Java 7 and NIO 2.0 be a good reason to create Ant 2.0?

I realize I am violating "Shut up and show me the code". While I personally won't be able to help much for the foreseeable future, I've seen communities be revitalized by creating a new codebase. It attracts new committers who have been annoyed by the previous bug/feature combinations and get excited about the possibilities of helping to create a new codebase. Cocoon did it twice, although I wouldn't recommend that because the people attracted by Cocoon 2.2 went away because they felt their efforts were wasted thanks to Cocoon 3.0.

It could be a way to sweep away the kind of cruft that is holding up the release and to redesign Ant to reflect all the lessons learned about how to build software in the last 10 years. Or it could be I'm the only one who read through the NIO 2.0 features and instantly thought about rewriting Ant.

What do you guys think about it?

On 2/5/2012 11:25 PM, Stefan Bodewig wrote:
On 2012-02-05, Mansour Al Akeel wrote:

I have been looking and developing some custom task for ant, for the last
few days. I noticed that ant tasks don't use java.io directly. I am
assuming this is due to the way java.io.File behave on different platforms,
and the support for patterns .... etc.
You must not forget that parts of Ant have been written at a time where
Java2 was too new to require it as runtime environment.

However, now with java 7, we have the Path class that is very convenient to
use. I think having this will make writing tasks easier, by cuting down the
steps to convert between ants Path and java.nio.file.Path.
Are there any interests ?
Yes, there is.

Just now we have voted to accept Java5 (yes, 5, not 7) as our minimum
requirement for Ant's trunk following the upcoming 1.8.3 release.  This
means we can not use Java7 features directly.

One approach that may be possible is to write a FileUtils replacement
using Java7 features.  Almost all file system interactions of Ant go
through FileUtils and Ant's core could detect at runtime whether Java7
is around and use the matching FileUtils class.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Reply via email to