@@ -270,7 +270,9 @@
<p>This is list is not complete, it just highlights some of the
<p>This is list is not complete, it just highlights some of the
rejected features and tries to explain why they've been
rejected features and tries to explain why they've been
rejected.</p>
rejected. Two very common reasons to reject something were, that
the request has been too vague or the same functionality could
already be provided by some other accepted new feature.</p>
<p>For a complete listing of all requested features, see <a
<p>For a complete listing of all requested features, see <a
href="requested-features.html">requested-features.html</a>. The
href="requested-features.html">requested-features.html</a>. The
@@ -280,6 +282,74 @@
lines contained either <code>[VOTE]</code> or
lines contained either <code>[VOTE]</code> or
<code>[DISC]</code>.</p>
<code>[DISC]</code>.</p>
<h2>Simple Flow-Control</h2>
<p>People asking for these kind of things have often heard the
standard "Ant shall not become yet another scripting language, Ant
shall not fall into the same traps make/Perl did ..." response
from the committers and some long-term ant-dev people.</p>
<p>The long version of that answer is:</p>
<ul>
<li>There are lots of open source scripting languages, there is
no need to define a new one.</li>
<li>Ant has been created to be a build tool. While you can use
it for a whole lot of other things, this is not Ant's primary
focus (and it shouldn't be). Most use-cases that ask for
flow-control are out of Ant's scope.</li>
<li>Ant already provides the requested functionality for many
common situations. The execon and apply tasks can be used to
iterate over a set of files as the (planed for Ant2) javaon and
anton tasks will do.</li>
<li>Providing flow-control inside Ant's core would increase the
complexity of this core. This would make it difficult for new
contributors to understand how Ant works and increase the
maintenance cost for Ant at the same time. The goal of the Ant
developers is to push as much complexity and functionality out
of Ant's core into the tasks as possible.</li>
</ul>
<p>That being said, Ant2 will make it easy to write iteration or
conditional tasks via the new container task concept. We expect
foreach, switch and if tasks to be written, but they will probably
not become core parts of the Ant distribution.</p>
<h2>Advanced Conditionals for if/unless Attributes</h2>
<p>The argument here is the same as for flow-control. We are
talking about complexity that can be pushed from the core to tasks
- and that is what will be done. Instead of additional power for
the if/unless attributes, Ant2 will have a new task that can set
properties based on the values of other properties or logical
combinations of other conditions, something like (making up
syntax):</p>
<pre>
<condition name="javamail-complete">
<and>
<available class="javax.mail.Transport"/>
<available class="javax.activation.DataHandler"/>
</and>
</condition>
</pre>
<p>will become possible</p>
<h2>Multi-Threaded Execution of Targets</h2>
<p>The general feeling was, that the combination of target
dependencies and multi-threading would soon become too complex,
especially since Ant2 will allow people to explicitly enforce the
order in which (independent) targets will be executed.</p>
<p>This issue will be explored again later, it has not been
rejected for all time being, but it is out of scope for
Ant 2.0</p>
<h1>Ideas for New Tasks and Tools</h1>
<h1>Ideas for New Tasks and Tools</h1>
<p>Please refer to <a
<p>Please refer to <a