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