bodewig 01/06/06 06:41:52
Modified: docs/ant2 features.html
Log:
Think I've covered all accepted features now.
Revision Changes Path
1.3 +80 -1 jakarta-ant/docs/ant2/features.html
Index: features.html
===================================================================
RCS file: /home/cvs/jakarta-ant/docs/ant2/features.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- features.html 2001/05/23 15:32:08 1.2
+++ features.html 2001/06/06 13:41:47 1.3
@@ -77,6 +77,12 @@
presented to the user if that target is going to be skipped (based
on the if/unless attribute of the target).</p>
+ <p>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
+ <a href="http://java.sun.com/products/javawebstart/">Webstart</a> or
+ a "self-extracting" JAR file will be explored.</p>
+
<h2>Extensibility</h2>
<p>Ant2 like Ant1 uses build files written in XML as its main
@@ -109,6 +115,17 @@
directly (like some tasks "abuse" the
<code><touch></code> task in Ant1).</p>
+ <p>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.</p>
+
+ <p>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.</p>
+
<h1>New/Modified Features</h1>
<p>Ant2 will run the build process fully dynamically, which means
@@ -140,6 +157,12 @@
<li>Ant2 is going to require a JDK version 1.2 or above and a
JAXP compliant parser version 1.1 or above.</li>
+ <li>If you specify more than one target in another target's
+ depends attribute, Ant1 will execute these targets from left to
+ right (as long as the dependency tree permits it) - Ant2 will
+ not guarantee this behavior but will allow build file writers to
+ specify the order explicitly.</li>
+
</ul>
<h2>Support Integration of Ant Into Other Tools</h2>
@@ -164,6 +187,14 @@
<li>It will be possible to cancel a running build process.</li>
+ <li>Ant will detach from <code>System.err/.out/.in</code>
+ 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).</li>
+
+ <li>Tasks will provide some way to identify their attributes
+ from the outside. <i class="default">fill in details</i></li>
+
</ul>
<h2>More Control for Users and Build File Writers</h2>
@@ -174,6 +205,21 @@
within the build file and to modify the behavior of attached
listeners.</p>
+ <p>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
+ <code>ANT_OPTS</code> environment variable or the
+ <code>~/.antrc</code> file.</p>
+
+ <p>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 <code>debug</code> attribute
+ of the <code>javac</code> task to be true - unless it has been
+ disabled explicitly). <i class="comment">Need to give details once
+ they've been sorted out.</i></p>
<h2>Documentation System</h2>
@@ -187,6 +233,39 @@
<p class="comment">Is there something beyond "should become
better" right now?</p>
+ <h2>Data Types</h2>
+
+ <p>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.</p>
+
+ <p>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.</p>
+
+ <p>Data types and properties will share the same name space and
+ follow the same scoping and precedence rules.
+ <i class="comment">${} again.</i></p>
+
+ <h2>Multithreading</h2>
+
+ <p>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.</p>
+
+ <h2>Internationalization</h2>
+
+ <p>Ant2 itself will provide internationalized (error) messages and
+ provide utility classes to help task writers to do the same.
+ <i class="comment">These utility classes may very well come from a
+ different (Jakarta) project</i>.</p>
+
+ <p>Ant's primary language and the language of the build file
+ will continue to be English.</p>
+
<h1>Rejected Features</h1>
<p>This is list is not complete, it just highlights some of the
@@ -210,7 +289,7 @@
for this.</p>
<hr>
- <p align="center">$Id: features.html,v 1.2 2001/05/23 15:32:08 bodewig
Exp $</p>
+ <p align="center">$Id: features.html,v 1.3 2001/06/06 13:41:47 bodewig
Exp $</p>
<p align="center">Copyright © 2001 Apache Software
Foundation. All rights Reserved.</p>
</body>