* Removed the 'differences to ant1' blurbage from index.xml. * Regenerated HTML. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272036 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -0,0 +1,138 @@ | |||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |||
| <!-- Content Stylesheet for Site --> | |||
| <!-- start the processing --> | |||
| <html> | |||
| <head> | |||
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> | |||
| <meta name="author" value="Adam Murdoch"> | |||
| <meta name="email" value="adammurdoch@apache.org"> | |||
| <title>Apache Myrmidon - Differences to Ant1</title> | |||
| </head> | |||
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> | |||
| <table border="0" width="100%" cellspacing="0"> | |||
| <!-- TOP IMAGE --> | |||
| <tr> | |||
| <td> <td colspan="2"> | |||
| <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" align="left" border="0"/></a> | |||
| </td> | |||
| </td> | |||
| <td valign="bottom"><div align="right"><b><font size="+3" color="#525D76">Apache Myrmidon</font></b></div></td> | |||
| </tr> | |||
| </table> | |||
| <table border="0" width="100%" cellspacing="4"> | |||
| <tr><td colspan="2"> | |||
| <hr noshade="" size="1"/> | |||
| </td></tr> | |||
| <tr> | |||
| <!-- LEFT SIDE NAVIGATION --> | |||
| <td valign="top" nowrap="true"> | |||
| <p><strong>Myrmidon</strong></p> | |||
| <ul> | |||
| <li> <a href="./index.html">Introduction</a> | |||
| </li> | |||
| <li> <a href="./getinvolved.html">Get Involved</a> | |||
| </li> | |||
| <li> <a href="./user.html">Building Myrmidon</a> | |||
| </li> | |||
| <li> <a href="./todo.html">Todo List</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| <ul> | |||
| <li> <a href="./task.html">Task Writers HOWTO</a> | |||
| </li> | |||
| <li> <a href="./classloader.html">ClassLoader HOWTO</a> | |||
| </li> | |||
| <li> <a href="./librarys.html">Library HOWTO</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Container Design</strong></p> | |||
| <ul> | |||
| </ul> | |||
| </td> | |||
| <td align="left" valign="top"> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Differences to Ant 1.x"><strong>Differences to Ant 1.x</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Some of the differences between Ant 1.x and Myrmidon:</p> | |||
| <ul> | |||
| <li> | |||
| Groups of tasks can be assembled into self-describing | |||
| <i>antlib</i> task libraries. This makes it very easy to | |||
| distribute and install tasks and data-types. | |||
| </li> | |||
| <li> A project can import other projects, and reference their targets. </li> | |||
| <li>Properties and data type references now share the same namespace.</li> | |||
| <li> | |||
| Changes to task and data-type API: | |||
| <ul> | |||
| <li>An interface based API, through which a task interacts with the | |||
| task engine, and the services it provides.</li> | |||
| <li>A well-defined object lifecycle.</li> | |||
| <li>Polymorphic types are supported when objects are configured.</li> | |||
| <li>Reference handling is handled automatically when objects are configured.</li> | |||
| <li>Aspects can be used to decorate tasks, to add facilities like logging, | |||
| error handling, or user preferences.</li> | |||
| </ul> | |||
| </li> | |||
| <li>A set of well-defined services and APIs have been introduced, to allow | |||
| tasks to do their work without depending on other tasks: | |||
| <ul> | |||
| <li>Execute external commands.</li> | |||
| <li>Execute other tasks.</li> | |||
| <li>Manage ClassLoaders and Class-paths.</li> | |||
| <li>Virtual file system (in progress).</li> | |||
| <li>Execute Java applications (in progress).</li> | |||
| <li>...</li> | |||
| </ul> | |||
| </li> | |||
| </ul> | |||
| <p>There are plenty more features planned. You can read about them | |||
| <a href="todo.html">here</a>. | |||
| </p> | |||
| </blockquote> | |||
| </td></tr> | |||
| </table> | |||
| </td> | |||
| </tr> | |||
| <!-- FOOTER --> | |||
| <tr><td colspan="2"> | |||
| <hr noshade="" size="1"/> | |||
| </td></tr> | |||
| <tr><td colspan="2"> | |||
| <div align="center"><font color="#525D76" size="-1"><em> | |||
| Copyright © 2000-2002, Apache Software Foundation | |||
| </em></font></div> | |||
| </td></tr> | |||
| </table> | |||
| </body> | |||
| </html> | |||
| <!-- end the processing --> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -76,85 +78,27 @@ | |||
| <tr><td> | |||
| <blockquote> | |||
| <p> | |||
| Myrmidon is one of the Ant 2 proposals currently in development. You can | |||
| read more about the goals of Ant 2 | |||
| <a href="http://jakarta.apache.org/ant/ant2/">here</a>. | |||
| </p> | |||
| <p> | |||
| Myrmidon is a general-purpose <i>task engine</i>. It contains the basic | |||
| building blocks for assembling any sort of task-based tool. Ant 2 | |||
| is an example of such a tool, which could be assembled using the Myrmidon task | |||
| engine, and a library of build related tasks. | |||
| </p> | |||
| <p> | |||
| Currently, Myrmidon is a prototype of what a task engine might look. It | |||
| includes a small set of tasks and data types. We are currently porting | |||
| many of the Ant 1.x tasks to the Myrmidon task engine. | |||
| </p> | |||
| <p> | |||
| </p> | |||
| </blockquote> | |||
| </td></tr> | |||
| </table> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Differences to Ant 1.x"><strong>Differences to Ant 1.x</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Some of the differences between Ant 1.x and Myrmidon:</p> | |||
| <ul> | |||
| <li> | |||
| Groups of tasks can be assembled into self-describing <i>antlib</i> task | |||
| libraries. This makes it very easy to distribute and install tasks and data-types. | |||
| </li> | |||
| Myrmidon is one of the Ant 2 proposals currently in development. You can | |||
| read more about the goals of Ant 2 | |||
| <li> | |||
| A project can import other projects, and reference their targets. | |||
| </li> | |||
| <a href="http://jakarta.apache.org/ant/ant2/">here</a>. | |||
| <li> | |||
| Changes to the property model: | |||
| <ul> | |||
| <li>Properties and data type references now share the same namespace.</li> | |||
| <li>Properties are mutable.</li> | |||
| <li>Properties are scoped into global, local, and parent contexts.</li> | |||
| <li><code>if</code> and <code>unless</code> checks now test the property | |||
| value against <code>false</code>, in addition to testing set/not-set.</li> | |||
| </ul> | |||
| </li> | |||
| <li> | |||
| Changes to task and data-type API: | |||
| <ul> | |||
| <li>An interface based API, through which a task interacts with the | |||
| task engine, and the services it provides.</li> | |||
| <li>A well-defined object lifecycle.</li> | |||
| <li>Polymorphic types are supported when objects are configured.</li> | |||
| <li>Reference handling is handled automatically when objects are configured.</li> | |||
| <li>Aspects can be used to decorate tasks, to add facilities like logging, | |||
| error handling, or user preferences.</li> | |||
| </ul> | |||
| </li> | |||
| <li> | |||
| A set of well-defined services and APIs have been introduced, to allow | |||
| tasks to do their work without depending on other tasks: | |||
| <ul> | |||
| <li>Execute external commands.</li> | |||
| <li>Execute other tasks.</li> | |||
| <li>Manage ClassLoaders and Class-paths.</li> | |||
| <li>Virtual file system (in progress).</li> | |||
| <li>Execute Java applications (in progress).</li> | |||
| <li>...</li> | |||
| </ul> | |||
| </li> | |||
| </p> | |||
| <p> | |||
| Myrmidon is a general-purpose | |||
| <i>task engine</i>. It contains the basic | |||
| building blocks for assembling any sort of task-based tool. Ant 2 | |||
| is an example of such a tool, which could be assembled using the Myrmidon task | |||
| engine, and a library of build related tasks. | |||
| </ul> | |||
| <p>There are plenty more features planned. You can read about them <a href="todo.html">here</a>.</p> | |||
| </p> | |||
| <p> | |||
| Currently, Myrmidon is a prototype of what a task engine might look. It | |||
| includes a small set of tasks and data types. We are currently porting | |||
| many of the Ant 1.x tasks to the Myrmidon task engine. | |||
| </p> | |||
| <p> | |||
| </p> | |||
| </blockquote> | |||
| </td></tr> | |||
| </table> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -80,6 +82,51 @@ | |||
| sections describe some of the many things which still need to be done to | |||
| achieve that goal. This list is currently under construction.</p> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Security Manager"><strong>Security Manager</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Add the ability to run java programs that call System.exit() by adding a | |||
| security manager. Should look something like:</p> | |||
| <div align="left"> | |||
| <table cellspacing="4" cellpadding="0" border="0"> | |||
| <tr> | |||
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |||
| <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |||
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |||
| </tr> | |||
| <tr> | |||
| <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |||
| <td bgcolor="#ffffff"><pre> | |||
| public class MyrmidonSecurityManager | |||
| extends SecurityManager | |||
| { | |||
| public void checkExit( final int status ) | |||
| { | |||
| throw new ExitException( status ); | |||
| } | |||
| public void checkPermission( final Permission permission ) | |||
| { | |||
| } | |||
| } | |||
| </pre></td> | |||
| <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |||
| </tr> | |||
| <tr> | |||
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |||
| <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |||
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> | |||
| </tr> | |||
| </table> | |||
| </div> | |||
| </blockquote> | |||
| </td></tr> | |||
| </table> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Self Hosting"><strong>Self Hosting</strong></a> | |||
| @@ -94,6 +141,20 @@ | |||
| able to be built from scratch, without using Ant 1.x at all).</p> | |||
| </blockquote> | |||
| </td></tr> | |||
| </table> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Validation Pass"><strong>Validation Pass</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Consider calling validate() on task prior to execute(). This would allow | |||
| us to have a "make -k" mode that actually did basic validation and would also | |||
| encourage task writers to do validation properly.</p> | |||
| </blockquote> | |||
| </td></tr> | |||
| </table> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| @@ -154,12 +215,14 @@ | |||
| Write tests for the various bits that rely on Myrmidon | |||
| functionality: | |||
| <ul> | |||
| <li>Simple sanity test</li> | |||
| <li>if/unless on targets: check that behaviour complies with Ant1</li> | |||
| <li>Make sure properties are shared between Ant1 and Myrmidon tasks.</li> | |||
| <li>Make sure that <ant1.property> behaves as per Ant1</li> | |||
| </ul> | |||
| </li> | |||
| <li>Get GUMP runs going using Myrmidon.</li> | |||
| <li>i18n messages</li> | |||
| </ul> | |||
| </blockquote> | |||
| </td></tr> | |||
| @@ -402,7 +465,6 @@ | |||
| <code>ant-services.xml</code> descriptor. | |||
| </li> | |||
| <li>Route external process stdout and stderr through the logger.</li> | |||
| <li>Add verbosity level to ProjectListener LogEvent</li> | |||
| <li>Fire ProjectListener events taskFinished(), targetFinished() and | |||
| projectFinished() events on build failure, adding indicator methods to | |||
| @@ -438,7 +500,11 @@ | |||
| <li>Move | |||
| <code>crimson.jar</code> to | |||
| <code>bin/lib</code> in the distribution, | |||
| and make to other jars via the extension mechanism. | |||
| and make available to other jars via the extension mechanism. | |||
| </li> | |||
| <li>Change <code>DefaultPropertyResolver</code> to ignore '$${'.</li> | |||
| <li>Add a <code>--type</code> command-line option, to allow | |||
| the project builder to be manually selected. | |||
| </li> | |||
| <li>Unit tests.</li> | |||
| </ul> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -51,6 +51,8 @@ | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| </li> | |||
| </ul> | |||
| <p><strong>Extending Ant</strong></p> | |||
| @@ -37,75 +37,6 @@ | |||
| </section> | |||
| <section name="Differences to Ant 1.x"> | |||
| <p>Some of the differences between Ant 1.x and Myrmidon:</p> | |||
| <ul> | |||
| <li> | |||
| Groups of tasks can be assembled into self-describing | |||
| <i>antlib</i> task | |||
| libraries. This makes it very easy to distribute and install tasks and data-types. | |||
| </li> | |||
| <li> | |||
| A project can import other projects, and reference their targets. | |||
| </li> | |||
| <li> | |||
| Changes to the property model: | |||
| <ul> | |||
| <li>Properties and data type references now share the same namespace.</li> | |||
| <li>Properties are mutable.</li> | |||
| <li>Properties are scoped into global, local, and parent contexts.</li> | |||
| <li> | |||
| <code>if</code> and | |||
| <code>unless</code> checks now test the property | |||
| value against | |||
| <code>false</code>, in addition to testing set/not-set. | |||
| </li> | |||
| </ul> | |||
| </li> | |||
| <li> | |||
| Changes to task and data-type API: | |||
| <ul> | |||
| <li>An interface based API, through which a task interacts with the | |||
| task engine, and the services it provides.</li> | |||
| <li>A well-defined object lifecycle.</li> | |||
| <li>Polymorphic types are supported when objects are configured.</li> | |||
| <li>Reference handling is handled automatically when objects are configured.</li> | |||
| <li>Aspects can be used to decorate tasks, to add facilities like logging, | |||
| error handling, or user preferences.</li> | |||
| </ul> | |||
| </li> | |||
| <li> | |||
| A set of well-defined services and APIs have been introduced, to allow | |||
| tasks to do their work without depending on other tasks: | |||
| <ul> | |||
| <li>Execute external commands.</li> | |||
| <li>Execute other tasks.</li> | |||
| <li>Manage ClassLoaders and Class-paths.</li> | |||
| <li>Virtual file system (in progress).</li> | |||
| <li>Execute Java applications (in progress).</li> | |||
| <li>...</li> | |||
| </ul> | |||
| </li> | |||
| </ul> | |||
| <p>There are plenty more features planned. You can read about them | |||
| <a href="todo.html">here</a>. | |||
| </p> | |||
| </section> | |||
| </body> | |||
| </document> | |||
| @@ -314,7 +314,6 @@ public class MyrmidonSecurityManager | |||
| <code>ant-services.xml</code> descriptor. | |||
| </li> | |||
| <li>Route external process stdout and stderr through the logger.</li> | |||
| <li>Add verbosity level to ProjectListener LogEvent</li> | |||
| <li>Fire ProjectListener events taskFinished(), targetFinished() and | |||
| projectFinished() events on build failure, adding indicator methods to | |||
| @@ -350,7 +349,11 @@ public class MyrmidonSecurityManager | |||
| <li>Move | |||
| <code>crimson.jar</code> to | |||
| <code>bin/lib</code> in the distribution, | |||
| and make to other jars via the extension mechanism. | |||
| and make available to other jars via the extension mechanism. | |||
| </li> | |||
| <li>Change <code>DefaultPropertyResolver</code> to ignore '$${'.</li> | |||
| <li>Add a <code>--type</code> command-line option, to allow | |||
| the project builder to be manually selected. | |||
| </li> | |||
| <li>Unit tests.</li> | |||
| </ul> | |||