ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <>
Subject Re: NIO 2.0 == Ant 2.0? was Re: Java NIO support
Date Tue, 14 Feb 2012 14:13:01 GMT
On 2012-02-13, Bruce Atherton wrote:

> 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?

There are things in NIO2 that can be added via FileUtils one way or the
other, but it could also make us rethink our concept of Resources
(although nio2's Path looks too limited for that).

If we really want to take the burden of redesigning Ant on us then it
certainly wouldn't only be NIO2 but also revolutionary things like
generics.  OTOH there will always be a reason to wait longer (lambdas,

I fully understand that throwing away the existing cruft can set free
new energy.  Personally I enjoy working on the Commons Antlib way more
than working on the built-in Zip/Tar tasks because I could design them
from a fresh start while the later have accumulated features with big
care for API backwards compatibility.

To me the strength of Ant (as it is) is in its tasks.  The tasks are
proven pieces of code that have been tested by an incredibly big amount
of people.  And even if we have about 200 bug reports open, most tasks
do what they are supposed to do and do so very well.  Any rewritten Ant
would have a long way to reach the same level of stability.  The same is
true for the Compress Antlib vs the core tasks, of course.

> 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.

This will lead us to the discussion of what Ant2 would be.  A rewritten
Ant that remains compatible (or mostly so) on the build file level or
something quite different?


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

View raw message