On Tue, Feb 14, 2012 at 8:13 AM, Stefan Bodewig <bode...@apache.org> wrote: > 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, > modules). > > 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? >
It would be very beneficial to have Ant 2 remain compatible at the build file level if for no other reason than to facilitate testing of v2 tasks: AntUnit-based tests should continue to pass, and as we've seen, the vast majority of Ant's unit tests are expressible in the AntUnit style. Agreed that a v2 could allow us to cast off accumulated baggage. The core of the redesign would be the most important thing to get right. I suspect that the concept of a Resource would be closer to the core (hindsight and all that) and would be interface-based. TBH, I've never looked closely at nio1, let alone 2, until just now, but after a quick look at java.nio.file.Path I confess that I don't immediately see what it lacks that we would need. Matt > 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