From 3219e9d8296a05efd36acbc1caf1bb455ff424c6 Mon Sep 17 00:00:00 2001
From: Stefan Bodewig
Even though Ant installation already is quite simple in Ant1 + (extract the archive and set two environment variables), + alternative ways to install Ant like using + Webstart or + a "self-extracting" JAR file will be explored.
+Ant2 like Ant1 uses build files written in XML as its main
@@ -109,6 +115,17 @@
directly (like some tasks "abuse" the
<touch>
task in Ant1).
Ant2 will provide a way to define tasks that itself can have + tasks as child elements without knowing all defined tasks at + compile time. Discussions on ant-dev usually talk about + "container tasks" in this context.
+ +The only way to &qout;include" common XML snippets so far + has been the usage of external SYSTEM entities, a mechanism that + is tied to DTDs and doesn't mix well with alternative + approaches like XML Schema. Ant2 will provide a built-in include + mechanism.
+Ant2 will run the build process fully dynamically, which means @@ -140,6 +157,12 @@
System.err/.out/.in
+ completely and communicate with the front-end via a well defined
+ API. The front-end will have to handle user input for tasks
+ that need it (tasks that ask for a password for example).In Ant1 users have little control over how things work. There
+ are a couple of magic properties to make Ant chose a preferred
+ compiler or modify the CLASSPATH, but they are barely documented.
+ If users want to set these properties for every build process,
+ they have to learn the undocumented tricks of the
+ ANT_OPTS
environment variable or the
+ ~/.antrc
file.
Ant2 will have a well defined system to specify user
+ preferences. This system will not only let user chose their
+ compiler but also give them a chance to provide default values for
+ attributes (say you always want the debug
attribute
+ of the javac
task to be true - unless it has been
+ disabled explicitly). Need to give details once
+ they've been sorted out.
Is there something beyond "should become better" right now?
+Ant1 supports a limited set of data types (fileset, patternset + and path) and at least up to Ant 1.3 it is not possible to + register custom data types without writing a task that does this. + Ant2 will provide a built-in mechanism to define new data + types.
+ +Existing data-types will be improved, the files in a fileset + can be chosen based on more than just pattern matching for example + (modification time or permissions for example). Ant2 will have + built-in tasks for set operations.
+ +Data types and properties will share the same name space and + follow the same scoping and precedence rules. + ${} again.
+ +It will be possible to run several tasks in parallel - these + tasks will belong to the same target and all tasks will be joined + at the end of the target.
+ +Ant2 itself will provide internationalized (error) messages and + provide utility classes to help task writers to do the same. + These utility classes may very well come from a + different (Jakarta) project.
+ +Ant's primary language and the language of the build file + will continue to be English.
+This is list is not complete, it just highlights some of the