* Fixed some spelling, added a tiny bit more content. * Added an 'anchor' attribute for <section> and <subsection> elements. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272255 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -11,7 +11,7 @@ | |||
| <meta name="author" value="Darrell DeBoer"> | |||
| <meta name="email" value="darrell at apache dot org"> | |||
| <title>Apache Myrmidon - Ant1 Compatibitlity Layer</title> | |||
| <title>Apache Myrmidon - Ant 1 Compatibitlity Layer</title> | |||
| </head> | |||
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,31 +78,31 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Overview"><strong>Overview</strong></a> | |||
| <a name="Overview"><strong>Overview</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p> | |||
| The Myrmidon-Ant1 Compatibility layer works by reusing most of the Ant1 code, | |||
| The Myrmidon-Ant1 Compatibility layer works by reusing most of the Ant 1 code, | |||
| with tasks and datatypes | |||
| being prefixed with "ant1." in build files. Almost all of the main Ant1 tree | |||
| being prefixed with "ant1." in build files. Almost all of the main Ant 1 tree | |||
| is included in the compatibility layer antlib. To insulate from changes in | |||
| the Ant1 tree, Ant1 class files are extracted from a jar, rather than | |||
| the Ant 1 tree, Ant 1 class files are extracted from a jar, rather than | |||
| being compiled from scratch. | |||
| </p> | |||
| <p> | |||
| Here's how it works: The first time an Ant1 task is encountered, an Ant1 | |||
| Here's how it works: The first time an Ant 1 task is encountered, an Ant 1 | |||
| project is created, and stored in the TaskContext under the name "ant1.project". | |||
| The Ant1 versions of Task and Project have been extended, overriding core behaviour, | |||
| The Ant 1 versions of Task and Project have been extended, overriding core behaviour, | |||
| with Myrmidon-specific behaviour. | |||
| </p> | |||
| <p> | |||
| The updated version of Task implements Configurable, receiving it's | |||
| complete Task Model, and actually setting/adding/creating attributes | |||
| with the help of the IntrospectionHelper. This process is designed to | |||
| mimic the Ant1 configuration policy, although not <i>all</i> of the | |||
| subtle variations of configuration present in Ant1 are handled. | |||
| mimic the Ant 1 configuration policy, although not <i>all</i> of the | |||
| subtle variations of configuration present in Ant 1 are handled. | |||
| </p> | |||
| <p> | |||
| The updated version of Project will provide hooks into the Myrmidon TaskContext, | |||
| @@ -114,16 +114,16 @@ | |||
| <li>Task defined by <taskdef> (done)</li> | |||
| </ul> | |||
| <p> | |||
| So at present, properties declared in Ant2 tasks are available to all Ant1 tasks, | |||
| So at present, properties declared in Ant 2 tasks are available to all Ant 1 tasks, | |||
| and vice-versa. However, while a <code><ant1.path></code> reference works fine | |||
| in other <code><ant1.XXX></code> | |||
| tasks, it's not visible to Ant2 tasks in the same build, and vice-versa. | |||
| tasks, it's not visible to Ant 2 tasks in the same build, and vice-versa. | |||
| </p> | |||
| <p> | |||
| The <code><taskdef></code> task works ok, registering the task with the TypeManager using the | |||
| "ant1." prefix. Only a couple of DataTypes (Path and Patternset) are working | |||
| as top-level types, but this should be just a matter of adding references to | |||
| the Ant1 version of TypeInstanceTask in the descriptor. | |||
| the Ant 1 version of TypeInstanceTask in the descriptor. | |||
| </p> | |||
| <p> | |||
| The TransformingProjectBuilder (which is now the default builder for files | |||
| @@ -137,7 +137,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Using the compatibility layer"><strong>Using the compatibility layer</strong></a> | |||
| <a name="Using the compatibility layer"><strong>Using the compatibility layer</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -145,16 +145,16 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Using Ant1 tasks in a Myrmidon build file"><strong>Using Ant1 tasks in a Myrmidon build file</strong></a> | |||
| <a name="Using Ant 1 tasks in a Myrmidon build file"><strong>Using Ant 1 tasks in a Myrmidon build file</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p> | |||
| If you have a Myrmidon build file (eg with <code>version="2.0"</code> | |||
| on the project element, you can use Ant1 tasks and datatypes by using | |||
| on the project element, you can use Ant 1 tasks and datatypes by using | |||
| the "ant1." suffix on the regular element name. | |||
| Virtually <i>all</i> tasks and datatypes from Ant1.4.1 are available | |||
| Virtually <i>all</i> tasks and datatypes from Ant 1.4.1 are available | |||
| in this way. | |||
| </p> | |||
| <p> | |||
| @@ -169,20 +169,20 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Using an existing Ant1 build file"><strong>Using an existing Ant1 build file</strong></a> | |||
| <a name="Using an existing Ant 1 build file"><strong>Using an existing Ant 1 build file</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p> | |||
| Myrmidon will automatically handle Ant1 build files using the | |||
| Ant1 Compatibility layer. So, using an Ant1 build | |||
| Myrmidon will automatically handle Ant 1 build files using the | |||
| Ant 1 Compatibility layer. So, using an Ant 1 build | |||
| file with Myrmidon should be as simple as:</p> | |||
| <pre>[myrmidon-command] -f ant1-build-file.xml</pre> | |||
| <p> | |||
| This works as follows: When Myrmidon encounters a ".xml" build file which does not have a | |||
| <code>version</code> attribute on the top-level <code>project</code> | |||
| element, it assumes that it is an Ant1 build file. So all tasks are | |||
| element, it assumes that it is an Ant 1 build file. So all tasks are | |||
| interpreted as though they are prefixed with the "ant." name prefix. | |||
| </p> | |||
| </blockquote> | |||
| @@ -194,12 +194,12 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Building the compatibility layer"><strong>Building the compatibility layer</strong></a> | |||
| <a name="Building the compatibility layer"><strong>Building the compatibility layer</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Before building the Ant1 Compatibility layer, you need to build | |||
| <p>Before building the Ant 1 Compatibility layer, you need to build | |||
| Myrmidon, running the <code>dist-lite</code> target of the main build. | |||
| See <a href="user.html#Building Myrmidon">the build instructions</a> | |||
| for more details.</p> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,15 +78,21 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Project File"><strong>Project File</strong></a> | |||
| <a name="Project File"><strong>Project File</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p> | |||
| The project file format is very similar to that of Ant 1. The root element of | |||
| the project file must be a <code><project></code> element. It can | |||
| take the following attributes: | |||
| A project file is an XML file that describes which tasks to execute, and in | |||
| which order to execute them in. A project can be broken up into several steps, | |||
| or <i>targets</i>. A target is simply a list of the tasks that need to be | |||
| executed to perform the step. A target may also include some dependency | |||
| information. Myrmidon makes sure that targets are executed in the correct order, | |||
| so that a target is executed before the targets that depend on it.</p> | |||
| <p>The project file format is very similar to the format used in Ant 1. The | |||
| root element of a project file must be a <code><project></code> element. | |||
| It can take the following attributes: | |||
| </p> | |||
| <table> | |||
| <tr> | |||
| @@ -125,7 +131,7 @@ take the following attributes: | |||
| <td bgcolor="#a0ddf0" colspan="" rowspan="" | |||
| valign="top" align="left"> | |||
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |||
| The base-name of the project file, with the extension removed. | |||
| The name of the project file, with the extension removed. | |||
| </font> | |||
| </td> | |||
| </tr> | |||
| @@ -181,7 +187,7 @@ take the following attributes: | |||
| <td bgcolor="#a0ddf0" colspan="" rowspan="" | |||
| valign="top" align="left"> | |||
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |||
| The project file version that the project is written for. | |||
| The project file format version that the project is written for. | |||
| </font> | |||
| </td> | |||
| <td bgcolor="#a0ddf0" colspan="" rowspan="" | |||
| @@ -197,15 +203,15 @@ A <code><project></code> element can contain the following elements, | |||
| in the order given below: | |||
| </p> | |||
| <ul> | |||
| <li><a href="#Project References"><code><projectref></code></a></li> | |||
| <li><a href="#Library Imports"><code><import></code></a></li> | |||
| <li><a href="#Implicit Tasks">Implicit tasks</a></li> | |||
| <li><a href="#Targets"><code><target></code></a></li> | |||
| <li><a href="#project-refs">Project references</a></li> | |||
| <li><a href="#antlib-imports">Library imports</a></li> | |||
| <li><a href="#init-tasks">Initialization tasks</a></li> | |||
| <li><a href="#targets">Targets</a></li> | |||
| </ul> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Project References"><strong>Project References</strong></a> | |||
| <a name="project-refs"><strong>Project References</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -276,7 +282,7 @@ A <code><projectref></code> element takes the following attributes:</p> | |||
| </table> | |||
| <p> | |||
| The targets of a referenced project can be used in the <code>depends</code> list | |||
| of a target in the referencing project, using the following syntax: | |||
| of a target in the referencing project, using the syntax | |||
| <code><i>project-name</i>-><i>target-name</i></code>. Here is a simple example:</p> | |||
| <div align="left"> | |||
| <table cellspacing="4" cellpadding="0" border="0"> | |||
| @@ -314,7 +320,7 @@ of a target in the referencing project, using the following syntax: | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Library Imports"><strong>Library Imports</strong></a> | |||
| <a name="antlib-imports"><strong>Library Imports</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -447,14 +453,14 @@ the <code>my-tasks</code> antlib.</p> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Implicit Tasks"><strong>Implicit Tasks</strong></a> | |||
| <a name="init-tasks"><strong>Initialization Tasks</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Implicit tasks are run before any of the project's targets are run. Any task | |||
| can be used, including <code><property></code> and data-type instances. | |||
| Implicit tasks can be used to initialise the project. For example:</p> | |||
| <p>Initialisation tasks are run before any of the project's targets are run, and | |||
| are used to initialise the project. Any task can be used as an initialization | |||
| task, including <code><property></code> and data-type instances. An example:</p> | |||
| <div align="left"> | |||
| <table cellspacing="4" cellpadding="0" border="0"> | |||
| <tr> | |||
| @@ -495,7 +501,7 @@ Implicit tasks can be used to initialise the project. For example:</p> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Targets"><strong>Targets</strong></a> | |||
| <a name="targets"><strong>Targets</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -575,7 +581,7 @@ following attributes:</p> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Tasks"><strong>Tasks</strong></a> | |||
| <a name="Tasks"><strong>Tasks</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -612,7 +618,7 @@ following attributes:</p> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Conditions"><strong>Conditions</strong></a> | |||
| <a name="Conditions"><strong>Conditions</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -640,7 +646,7 @@ following attributes:</p> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="File Name Mappers"><strong>File Name Mappers</strong></a> | |||
| <a name="File Name Mappers"><strong>File Name Mappers</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -11,7 +11,7 @@ | |||
| <meta name="author" value="Peter Donald"> | |||
| <meta name="email" value="peter@apache.org"> | |||
| <title>Apache Myrmidon - On ClassLoaders in Ant2</title> | |||
| <title>Apache Myrmidon - On ClassLoaders in Ant 2</title> | |||
| </head> | |||
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,14 +78,14 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="ClassLoader Management"><strong>ClassLoader Management</strong></a> | |||
| <a name="ClassLoader Management"><strong>ClassLoader Management</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>In many ways Ant2 needs to follow rules similar to a number of | |||
| <p>In many ways Ant 2 needs to follow rules similar to a number of | |||
| different application servers with respect to ClassLoader management. | |||
| Ant2 will create a number of different ClassLoaders that have access | |||
| Ant 2 will create a number of different ClassLoaders that have access | |||
| to different sets of resources (and thus Classes). The main reason | |||
| for this arrangment is to partition different sections of the | |||
| application such as the Container, the Task API, task/type libraries | |||
| @@ -97,7 +97,7 @@ | |||
| in it's own store. In practice this means that all the classes (and static | |||
| variables defined by said classes) in a parent ClassLoader are shared with | |||
| the child ClassLoaders.</p> | |||
| <p>Using kooky ascii art, the specific ClassLoader structure for Ant2 is as | |||
| <p>Using kooky ascii art, the specific ClassLoader structure for Ant 2 is as | |||
| follows:</p> | |||
| <div align="left"> | |||
| <table cellspacing="4" cellpadding="0" border="0"> | |||
| @@ -146,7 +146,7 @@ | |||
| <li> | |||
| The | |||
| <strong>Common</strong> ClassLoader contains the classes and resources | |||
| that are made visible to both the Container and to all the ant type librarys. This | |||
| that are made visible to both the Container and to all the ant type libraries. This | |||
| contains all the classes that the Container uses to communicate with tasks and other | |||
| supporting infrastructure. In particular it contains the following APIs; | |||
| @@ -172,7 +172,7 @@ | |||
| <strong>NOTE</strong>: These interfaces | |||
| are not to be used by user tasks but are made available so that certain tasks (such | |||
| as <antcall/>) can be implemented. However they are subject to change without | |||
| notice between between different ant2 versions. | |||
| notice between between different Ant 2 versions. | |||
| </li> | |||
| </ul> | |||
| @@ -188,7 +188,7 @@ | |||
| <strong>Container</strong> ClassLoader contains all the classes and resources | |||
| that are part of the actual implementation of the Container. These classes are not | |||
| directly accessible to any Ant library or task. Some of the classes are indirectly | |||
| accessible to tasks and other elements defined in the ant librarys as they implement | |||
| accessible to tasks and other elements defined in the ant libraries as they implement | |||
| interfaces defined in the | |||
| <strong>Common</strong> ClassLoader. The classes that are | |||
| stored in jars in the | |||
| @@ -198,7 +198,7 @@ | |||
| <li> | |||
| The | |||
| <strong>Shared</strong> ClassLoader contains all the classes and resources | |||
| that are shared across all of the ant librarys (unless they are als needed by the | |||
| that are shared across all of the ant libraries (unless they are als needed by the | |||
| container in which case they should be placed int the | |||
| <strong>Container</strong> | |||
| ClassLoader). This ClassLoader is populated by all the jars that are contained in | |||
| @@ -11,7 +11,7 @@ | |||
| <meta name="author" value="Peter Donald"> | |||
| <meta name="email" value="peter@apache.org"> | |||
| <title>Apache Myrmidon - On Task Configuring in Ant2</title> | |||
| <title>Apache Myrmidon - On Task Configuring in Ant 2</title> | |||
| </head> | |||
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,7 +78,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Introduction"><strong>Introduction</strong></a> | |||
| <a name="Introduction"><strong>Introduction</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -93,7 +93,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Names"><strong>Names</strong></a> | |||
| <a name="Names"><strong>Names</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -167,7 +167,7 @@ BaseDir ===> BaseDir</pre></td> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Resolving Values"><strong>Resolving Values</strong></a> | |||
| <a name="Resolving Values"><strong>Resolving Values</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -191,7 +191,7 @@ BaseDir ===> BaseDir</pre></td> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Modeller"><strong>Modeller</strong></a> | |||
| <a name="Modeller"><strong>Modeller</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -215,7 +215,7 @@ BaseDir ===> BaseDir</pre></td> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Attributes"><strong>Attributes</strong></a> | |||
| <a name="Attributes"><strong>Attributes</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -250,7 +250,7 @@ BaseDir ===> BaseDir</pre></td> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Content"><strong>Content</strong></a> | |||
| <a name="Content"><strong>Content</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -267,7 +267,7 @@ BaseDir ===> BaseDir</pre></td> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Element"><strong>Element</strong></a> | |||
| <a name="Element"><strong>Element</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -281,7 +281,7 @@ BaseDir ===> BaseDir</pre></td> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Named Elements"><strong>Named Elements</strong></a> | |||
| <a name="Named Elements"><strong>Named Elements</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -315,7 +315,7 @@ BaseDir ===> BaseDir</pre></td> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Referrenced Elements"><strong>Referrenced Elements</strong></a> | |||
| <a name="Referrenced Elements"><strong>Referrenced Elements</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -364,7 +364,7 @@ BaseDir ===> BaseDir</pre></td> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Typed Elements"><strong>Typed Elements</strong></a> | |||
| <a name="Typed Elements"><strong>Typed Elements</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -11,7 +11,7 @@ | |||
| <meta name="author" value="Adam Murdoch"> | |||
| <meta name="email" value="adammurdoch@apache.org"> | |||
| <title>Apache Myrmidon - Differences to Ant1</title> | |||
| <title>Apache Myrmidon - Differences to Ant 1</title> | |||
| </head> | |||
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,7 +78,7 @@ | |||
| <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> | |||
| <a name="Differences to Ant 1.x"><strong>Differences to Ant 1.x</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,15 +78,16 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Get Involved"><strong>Get Involved</strong></a> | |||
| <a name="Get Involved"><strong>Get Involved</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>There are plenty of things you can do to help out with Myrmidon. The Todo | |||
| list below describes items which still need to be done. Of course, since | |||
| this is an open-source project, there's plenty of scope for experimentation, | |||
| and you can pretty much make up your own items to work on.</p> | |||
| <p>There are plenty of things you can do to help out with Myrmidon. The | |||
| <a href="todo.html">Todo list </a> describes items which still need to | |||
| be done. Of course, since this is an open-source project, there's | |||
| plenty of scope for experimentation, and you can pretty much make up | |||
| your own items to work on.</p> | |||
| <p>Some things that are worth reading if you do want to get involved:</p> | |||
| <ul> | |||
| <li>The <a href="http://jakarta.apache.org/ant/ant2/">Ant 2</a> goals and requirements.</li> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,7 +78,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="What is Ant?"><strong>What is Ant?</strong></a> | |||
| <a name="What is Ant?"><strong>What is Ant?</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -102,13 +102,13 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="What is Myrmidon?"><strong>What is Myrmidon?</strong></a> | |||
| <a name="What is Myrmidon?"><strong>What is Myrmidon?</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Myrmidon is a proposal for Ant 2. Ant2 is the next evolution of the | |||
| Ant build tool aimed at removing many of the limitations of the Ant1.x | |||
| <p>Myrmidon is a proposal for Ant 2. Ant 2 is the next evolution of the | |||
| Ant build tool aimed at removing many of the limitations of the Ant 1.x | |||
| product. In particular it aims to;</p> | |||
| <ul> | |||
| <li>Remove ambiguities and points of confusion for build file | |||
| @@ -118,7 +118,7 @@ | |||
| <li>Simplify development of tasks by task-writers.</li> | |||
| <li>Enable ad-hoc "tasks" to be written inside build file, | |||
| probably using well known scripting languages such as python and | |||
| javascript. (Possible in ant1.x but prohibitively difficult).</li> | |||
| javascript. (Possible in Ant 1.x but prohibitively difficult).</li> | |||
| <li>Integrate templating technologies such as XSLT, velocity etc | |||
| to enable development of reusable build file elements.</li> | |||
| </ul> | |||
| @@ -131,14 +131,14 @@ | |||
| is an example of such a tool, which could be assembled using the Myrmidon | |||
| task container, and a library of build related tasks. In the future expect | |||
| to see Testing frameworks, Job Schedulers (ie Cron managers), shells | |||
| and install tools based on the myrmidon base.</p> | |||
| and install tools based on the Myrmidon base.</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="A Rose by any other name ..."><strong>A Rose by any other name ...</strong></a> | |||
| <a name="A Rose by any other name ..."><strong>A Rose by any other name ...</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -11,7 +11,7 @@ | |||
| <meta name="author" value="Peter Donald"> | |||
| <meta name="email" value="peter@apache.org"> | |||
| <title>Apache Myrmidon - On Librarys in Ant2</title> | |||
| <title>Apache Myrmidon - On Libraries in Ant 2</title> | |||
| </head> | |||
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,17 +78,17 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Library Management"><strong>Library Management</strong></a> | |||
| <a name="Library Management"><strong>Library Management</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Long ago there was identified the need for librarys that contain | |||
| <p>Long ago there was identified the need for libraries that contain | |||
| tasks and other elements present in the build file. This document | |||
| attempts to describe the mechanism via which these libraries will be | |||
| defined and used in Ant2. The librarys (also referred to as | |||
| defined and used in Ant 2. The libraries (also referred to as | |||
| deployments) will be termed antlibs.</p> | |||
| <p>Ant librarys can be packaged and signed into a ANt Type Library | |||
| <p>Ant libraries can be packaged and signed into a ANt Type Library | |||
| format (.atl) using the standard Java Archive tools. (For details on | |||
| the .jar file format see the | |||
| @@ -103,7 +103,7 @@ | |||
| library defines. It may also contain additional resources that can | |||
| be referenced in the build file (an example being DTDs). | |||
| </p> | |||
| <p>The library may also need access to other librarys or resources | |||
| <p>The library may also need access to other libraries or resources | |||
| to perform its job. For instance, if the task loaded an XML document | |||
| and then processed said document using the | |||
| <em>Trax API</em> then | |||
| @@ -123,7 +123,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Descriptors"><strong>Descriptors</strong></a> | |||
| <a name="Descriptors"><strong>Descriptors</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -135,7 +135,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Class and Resource Files"><strong>Class and Resource Files</strong></a> | |||
| <a name="Class and Resource Files"><strong>Class and Resource Files</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -154,7 +154,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Dependencies"><strong>Dependencies</strong></a> | |||
| <a name="Dependencies"><strong>Dependencies</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -163,7 +163,7 @@ | |||
| example given above described dependence on an external XML library. The | |||
| ant library thus needs a mechanism via which to declare dependencies on | |||
| external libraries.</p> | |||
| <p>Ant2 uses the "Optional Package" mechanism. Prior to JDK1.3, an "Optional | |||
| <p>Ant 2 uses the "Optional Package" mechanism. Prior to JDK1.3, an "Optional | |||
| Package" was known as an | |||
| <em>Extension</em>. The specification for this | |||
| mechanism is available in the JDK1.3 documentation in the directory | |||
| @@ -269,7 +269,7 @@ trax-Implementation-Vendor: Apache Software Foundation | |||
| </tr> | |||
| </table> | |||
| </div> | |||
| <p>To make other jars available to Ant librarys as "Optional Packages" | |||
| <p>To make other jars available to Ant libraries as "Optional Packages" | |||
| or Extensions then you need to add a few lines to the manifest of the | |||
| other jar. The minimal manifest is the following;</p> | |||
| <div align="left"> | |||
| @@ -304,7 +304,7 @@ Specification-Version: 1.0 | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Implementation Notes"><strong>Implementation Notes</strong></a> | |||
| <a name="Implementation Notes"><strong>Implementation Notes</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,12 +78,12 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="My First Task"><strong>My First Task</strong></a> | |||
| <a name="My First Task"><strong>My First Task</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>In ant1 it was very easy to write your own task. In Ant2 we plan | |||
| <p>In Ant 1 it was very easy to write your own task. In Ant 2 we plan | |||
| to make it even easier. To write a basic task simply follow the following | |||
| formula.</p> | |||
| <ol> | |||
| @@ -126,7 +126,7 @@ formula.</p> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="A Basic Example"><strong>A Basic Example</strong></a> | |||
| <a name="A Basic Example"><strong>A Basic Example</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -48,13 +48,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -80,7 +80,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Todo List"><strong>Todo List</strong></a> | |||
| <a name="Todo List"><strong>Todo List</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -92,13 +92,13 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Integrate XDocs proposal"><strong>Integrate XDocs proposal</strong></a> | |||
| <a name="Integrate XDocs proposal"><strong>Integrate XDocs proposal</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Integrate with the XDocs proposal that generates XML documentation for | |||
| tasks. Rework that proposal so that it knows about the myrmidon specific | |||
| tasks. Rework that proposal so that it knows about the Myrmidon specific | |||
| patterns and features. Also rework it so that it can support reading | |||
| documentation and examples from side-by-side the task.</p> | |||
| </blockquote> | |||
| @@ -107,7 +107,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="TaskInfo"><strong>TaskInfo</strong></a> | |||
| <a name="TaskInfo"><strong>TaskInfo</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -121,7 +121,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="XML Catalog to load XML Fragments"><strong>XML Catalog to load XML Fragments</strong></a> | |||
| <a name="XML Catalog to load XML Fragments"><strong>XML Catalog to load XML Fragments</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -139,7 +139,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Refactor Java Infrastructure into a Service"><strong>Refactor Java Infrastructure into a Service</strong></a> | |||
| <a name="Refactor Java Infrastructure into a Service"><strong>Refactor Java Infrastructure into a Service</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -152,7 +152,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Structural Dependency Utils"><strong>Structural Dependency Utils</strong></a> | |||
| <a name="Structural Dependency Utils"><strong>Structural Dependency Utils</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -241,7 +241,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Antlibs storing templates"><strong>Antlibs storing templates</strong></a> | |||
| <a name="Antlibs storing templates"><strong>Antlibs storing templates</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -257,7 +257,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Antlibs Storing General Resources"><strong>Antlibs Storing General Resources</strong></a> | |||
| <a name="Antlibs Storing General Resources"><strong>Antlibs Storing General Resources</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -272,7 +272,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Coloring API"><strong>Coloring API</strong></a> | |||
| <a name="Coloring API"><strong>Coloring API</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -328,7 +328,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Create Task/Element/Attribute Naming guidelines"><strong>Create Task/Element/Attribute Naming guidelines</strong></a> | |||
| <a name="Create Task/Element/Attribute Naming guidelines"><strong>Create Task/Element/Attribute Naming guidelines</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -349,7 +349,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Rethink Notification/Event scheme"><strong>Rethink Notification/Event scheme</strong></a> | |||
| <a name="Rethink Notification/Event scheme"><strong>Rethink Notification/Event scheme</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -365,7 +365,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="XPath-like Locators for tasks"><strong>XPath-like Locators for tasks</strong></a> | |||
| <a name="XPath-like Locators for tasks"><strong>XPath-like Locators for tasks</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -386,7 +386,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Embeddor HOWTO"><strong>Embeddor HOWTO</strong></a> | |||
| <a name="Embeddor HOWTO"><strong>Embeddor HOWTO</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -400,7 +400,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Optional Dependencies"><strong>Optional Dependencies</strong></a> | |||
| <a name="Optional Dependencies"><strong>Optional Dependencies</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -418,7 +418,7 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Facade task HOWTO"><strong>Facade task HOWTO</strong></a> | |||
| <a name="Facade task HOWTO"><strong>Facade task HOWTO</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -434,19 +434,19 @@ File[] files = cm.getOutOfDate(); | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Mail tasks"><strong>Mail tasks</strong></a> | |||
| <a name="Mail tasks"><strong>Mail tasks</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>Convert the ant1.x Mail tasks to myrmidon.</p> | |||
| <p>Convert the Ant 1.x Mail tasks to Myrmidon.</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="Security Manager"><strong>Security Manager</strong></a> | |||
| <a name="Security Manager"><strong>Security Manager</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -491,7 +491,7 @@ public class MyrmidonSecurityManager | |||
| <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> | |||
| <a name="Self Hosting"><strong>Self Hosting</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -507,7 +507,7 @@ public class MyrmidonSecurityManager | |||
| <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> | |||
| <a name="Validation Pass"><strong>Validation Pass</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -521,7 +521,7 @@ public class MyrmidonSecurityManager | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Paths"><strong>Paths</strong></a> | |||
| <a name="Paths"><strong>Paths</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -555,30 +555,30 @@ public class MyrmidonSecurityManager | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Ant 1.x Compatibility"><strong>Ant 1.x Compatibility</strong></a> | |||
| <a name="Ant 1.x Compatibility"><strong>Ant 1.x Compatibility</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p>The Ant1 Compatibility layer is still in early stages of development. | |||
| <p>The Ant 1 Compatibility layer is still in early stages of development. | |||
| </p> | |||
| <ul> | |||
| <li>Get a version of <code><antcall></code> working.</li> | |||
| <li> | |||
| Provide hooks between Ant1 references and Myrmidon properties. | |||
| May use converters for adapting Ant2 objects (like Ant2 | |||
| Provide hooks between Ant 1 references and Myrmidon properties. | |||
| May use converters for adapting Ant 2 objects (like Ant 2 | |||
| <code><path></code> or <code><fileset></code>) | |||
| as Ant1 types. | |||
| as Ant 1 types. | |||
| </li> | |||
| <li> | |||
| Missing tests: | |||
| <ul> | |||
| <li>Make sure properties are shared between Ant1 and Myrmidon tasks.</li> | |||
| <li>Make sure properties are shared between Ant 1 and Myrmidon tasks.</li> | |||
| </ul> | |||
| </li> | |||
| <li>Get GUMP runs going using Myrmidon.</li> | |||
| <li>Add protected accessors for get/set/list properties in | |||
| Ant1 Project, to minimise the amount of code duplication in | |||
| Ant 1 Project, to minimise the amount of code duplication in | |||
| Ant1CompatProject.</li> | |||
| </ul> | |||
| </blockquote> | |||
| @@ -587,7 +587,7 @@ public class MyrmidonSecurityManager | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Virtual File System"><strong>Virtual File System</strong></a> | |||
| <a name="Virtual File System"><strong>Virtual File System</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -622,7 +622,7 @@ public class MyrmidonSecurityManager | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="File Data-Types and Tasks"><strong>File Data-Types and Tasks</strong></a> | |||
| <a name="File Data-Types and Tasks"><strong>File Data-Types and Tasks</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -724,7 +724,7 @@ public class MyrmidonSecurityManager | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Command-line and Configuration Files"><strong>Command-line and Configuration Files</strong></a> | |||
| <a name="Command-line and Configuration Files"><strong>Command-line and Configuration Files</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -760,7 +760,7 @@ public class MyrmidonSecurityManager | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Scripting"><strong>Scripting</strong></a> | |||
| <a name="Scripting"><strong>Scripting</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -781,7 +781,7 @@ public class MyrmidonSecurityManager | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Documentation"><strong>Documentation</strong></a> | |||
| <a name="Documentation"><strong>Documentation</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -810,7 +810,7 @@ public class MyrmidonSecurityManager | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Miscellaneous"><strong>Miscellaneous</strong></a> | |||
| <a name="Miscellaneous"><strong>Miscellaneous</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -837,9 +837,6 @@ public class MyrmidonSecurityManager | |||
| <code><socket></code> | |||
| conditions to an antlib. Need to resolve how these will be passed a logger. | |||
| </li> | |||
| <li>Allow the | |||
| <code><if></code> task to take any condition implementation. | |||
| </li> | |||
| <li>Add an else block to the | |||
| <code><if></code> task. | |||
| </li> | |||
| @@ -860,11 +857,16 @@ public class MyrmidonSecurityManager | |||
| directories as part of a library classpath. | |||
| </li> | |||
| <li><code><condition></code> should set the property | |||
| value to <code>false</code> when the condition is false.</li> | |||
| value to <code>false</code> when the condition is false.</li> | |||
| <li>Split the <code><uptodate></code> condition into | |||
| a condition that checks against a single target file, | |||
| and one which checks using a destdir/mapper.</li> | |||
| a condition that checks against a single target file, | |||
| and one which checks using a destdir/mapper.</li> | |||
| <li>Add condition implementations to: check JVM version, | |||
| check Ant version, check whether a particular antlib or extension is | |||
| available, match a string against a regular expression.</li> | |||
| <li>Add a task to unset a property.</li> | |||
| <li>Change the various def and import task to allow a classpath | |||
| to be provided.</li> | |||
| <li>Unit tests.</li> | |||
| </ul> | |||
| </blockquote> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,14 +78,14 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Building Myrmidon"><strong>Building Myrmidon</strong></a> | |||
| <a name="Building Myrmidon"><strong>Building Myrmidon</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| <blockquote> | |||
| <p> | |||
| First, you will need to fetch the Myrmidon source from CVS. The source | |||
| can be source in the <code>proposal/myrmidon</code> directory of the | |||
| can be found in the <code>proposal/myrmidon</code> directory of the | |||
| Ant source tree. You should check out the <code>jakarta-ant</code> CVS | |||
| module, as described | |||
| <a href="http://jakarta.apache.org/site/cvsindex.html">here</a>. | |||
| @@ -167,7 +167,7 @@ files are found in the <code>lib</code> directory:</p> | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Running Myrmidon"><strong>Running Myrmidon</strong></a> | |||
| <a name="Running Myrmidon"><strong>Running Myrmidon</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -178,7 +178,7 @@ To run Myrmidon, use one of the following methods: | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Launcher Script"><strong>Launcher Script</strong></a> | |||
| <a name="Launcher Script"><strong>Launcher Script</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -258,7 +258,7 @@ variables can be used, but are not required (except on Windows 9x - see below). | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Executable Jar File"><strong>Executable Jar File</strong></a> | |||
| <a name="Executable Jar File"><strong>Executable Jar File</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -275,10 +275,10 @@ prompt> <i>java</i> -jar <i>ant-home</i>/bin/myrmidon-launcher.jar <i>options | |||
| </table> | |||
| <p>When started, Myrmidon looks for a project file called <code>build.ant</code> | |||
| in the current directory. A different project file can be specified using the | |||
| <code>-f</code> command-line option. Myrmidon executes the targets given on | |||
| the command-line, or the default target if none is given. For example, the | |||
| following executes the targets <code>clean</code> and <code>build</code> from | |||
| the project file <code>my-project.xml</code>:</p> | |||
| <code>-f</code> command-line option. Myrmidon executes the targets that are | |||
| listed on the command-line, or the default target if none is given. For | |||
| example, the following command executes targets <code>clean</code> and | |||
| <code>build</code> from project file <code>my-project.xml</code>:</p> | |||
| <pre> | |||
| prompt> ant -f my-project.xml clean build | |||
| </pre> | |||
| @@ -46,13 +46,13 @@ | |||
| </ul> | |||
| <p><strong>User Guide</strong></p> | |||
| <ul> | |||
| <li> <a href="./buildfile.html">Build file</a> | |||
| <li> <a href="./buildfile.html">Project File</a> | |||
| </li> | |||
| <li> <a href="./vfs.html">Virtual File System</a> | |||
| </li> | |||
| <li> <a href="./ant1compat.html">Ant1 Compatibility Layer</a> | |||
| <li> <a href="./ant1compat.html">Ant 1 Compatibility Layer</a> | |||
| </li> | |||
| <li> <a href="./differences.html">Differences to Ant1</a> | |||
| <li> <a href="./differences.html">Differences to Ant 1</a> | |||
| </li> | |||
| <li> <a href="./task.html">My First Task</a> | |||
| </li> | |||
| @@ -78,7 +78,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#525D76"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Handling Files"><strong>Handling Files</strong></a> | |||
| <a name="Handling Files"><strong>Handling Files</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -213,7 +213,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="File Sets"><strong>File Sets</strong></a> | |||
| <a name="File Sets"><strong>File Sets</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -354,7 +354,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="Paths"><strong>Paths</strong></a> | |||
| <a name="Paths"><strong>Paths</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -370,7 +370,7 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="#828DA6"> | |||
| <font color="#ffffff" face="arial,helvetica,sanserif"> | |||
| <a name="File Selectors"><strong>File Selectors</strong></a> | |||
| <a name="File Selectors"><strong>File Selectors</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -2,32 +2,32 @@ | |||
| <properties> | |||
| <author email="darrell at apache dot org">Darrell DeBoer</author> | |||
| <title>Ant1 Compatibitlity Layer</title> | |||
| <title>Ant 1 Compatibitlity Layer</title> | |||
| </properties> | |||
| <body> | |||
| <section name="Overview"> | |||
| <p> | |||
| The Myrmidon-Ant1 Compatibility layer works by reusing most of the Ant1 code, | |||
| The Myrmidon-Ant1 Compatibility layer works by reusing most of the Ant 1 code, | |||
| with tasks and datatypes | |||
| being prefixed with "ant1." in build files. Almost all of the main Ant1 tree | |||
| being prefixed with "ant1." in build files. Almost all of the main Ant 1 tree | |||
| is included in the compatibility layer antlib. To insulate from changes in | |||
| the Ant1 tree, Ant1 class files are extracted from a jar, rather than | |||
| the Ant 1 tree, Ant 1 class files are extracted from a jar, rather than | |||
| being compiled from scratch. | |||
| </p> | |||
| <p> | |||
| Here's how it works: The first time an Ant1 task is encountered, an Ant1 | |||
| Here's how it works: The first time an Ant 1 task is encountered, an Ant 1 | |||
| project is created, and stored in the TaskContext under the name "ant1.project". | |||
| The Ant1 versions of Task and Project have been extended, overriding core behaviour, | |||
| The Ant 1 versions of Task and Project have been extended, overriding core behaviour, | |||
| with Myrmidon-specific behaviour. | |||
| </p> | |||
| <p> | |||
| The updated version of Task implements Configurable, receiving it's | |||
| complete Task Model, and actually setting/adding/creating attributes | |||
| with the help of the IntrospectionHelper. This process is designed to | |||
| mimic the Ant1 configuration policy, although not <i>all</i> of the | |||
| subtle variations of configuration present in Ant1 are handled. | |||
| mimic the Ant 1 configuration policy, although not <i>all</i> of the | |||
| subtle variations of configuration present in Ant 1 are handled. | |||
| </p> | |||
| <p> | |||
| The updated version of Project will provide hooks into the Myrmidon TaskContext, | |||
| @@ -40,17 +40,17 @@ | |||
| </ul> | |||
| <p> | |||
| So at present, properties declared in Ant2 tasks are available to all Ant1 tasks, | |||
| So at present, properties declared in Ant 2 tasks are available to all Ant 1 tasks, | |||
| and vice-versa. However, while a <code><ant1.path></code> reference works fine | |||
| in other <code><ant1.XXX></code> | |||
| tasks, it's not visible to Ant2 tasks in the same build, and vice-versa. | |||
| tasks, it's not visible to Ant 2 tasks in the same build, and vice-versa. | |||
| </p> | |||
| <p> | |||
| The <code><taskdef></code> task works ok, registering the task with the TypeManager using the | |||
| "ant1." prefix. Only a couple of DataTypes (Path and Patternset) are working | |||
| as top-level types, but this should be just a matter of adding references to | |||
| the Ant1 version of TypeInstanceTask in the descriptor. | |||
| the Ant 1 version of TypeInstanceTask in the descriptor. | |||
| </p> | |||
| <p> | |||
| @@ -62,12 +62,12 @@ | |||
| </section> | |||
| <section name="Using the compatibility layer"> | |||
| <subsection name="Using Ant1 tasks in a Myrmidon build file"> | |||
| <subsection name="Using Ant 1 tasks in a Myrmidon build file"> | |||
| <p> | |||
| If you have a Myrmidon build file (eg with <code>version="2.0"</code> | |||
| on the project element, you can use Ant1 tasks and datatypes by using | |||
| on the project element, you can use Ant 1 tasks and datatypes by using | |||
| the "ant1." suffix on the regular element name. | |||
| Virtually <i>all</i> tasks and datatypes from Ant1.4.1 are available | |||
| Virtually <i>all</i> tasks and datatypes from Ant 1.4.1 are available | |||
| in this way. | |||
| </p> | |||
| <p> | |||
| @@ -78,16 +78,16 @@ | |||
| </p> | |||
| </subsection> | |||
| <subsection name="Using an existing Ant1 build file"> | |||
| <subsection name="Using an existing Ant 1 build file"> | |||
| <p> | |||
| Myrmidon will automatically handle Ant1 build files using the | |||
| Ant1 Compatibility layer. So, using an Ant1 build | |||
| Myrmidon will automatically handle Ant 1 build files using the | |||
| Ant 1 Compatibility layer. So, using an Ant 1 build | |||
| file with Myrmidon should be as simple as:</p> | |||
| <pre>[myrmidon-command] -f ant1-build-file.xml</pre> | |||
| <p> | |||
| This works as follows: When Myrmidon encounters a ".xml" build file which does not have a | |||
| <code>version</code> attribute on the top-level <code>project</code> | |||
| element, it assumes that it is an Ant1 build file. So all tasks are | |||
| element, it assumes that it is an Ant 1 build file. So all tasks are | |||
| interpreted as though they are prefixed with the "ant." name prefix. | |||
| </p> | |||
| @@ -96,7 +96,7 @@ | |||
| </section> | |||
| <section name="Building the compatibility layer"> | |||
| <p>Before building the Ant1 Compatibility layer, you need to build | |||
| <p>Before building the Ant 1 Compatibility layer, you need to build | |||
| Myrmidon, running the <code>dist-lite</code> target of the main build. | |||
| See <a href="user.html#Building Myrmidon">the build instructions</a> | |||
| for more details.</p> | |||
| @@ -10,9 +10,16 @@ | |||
| <section name="Project File"> | |||
| <p> | |||
| The project file format is very similar to that of Ant 1. The root element of | |||
| the project file must be a <code><project></code> element. It can | |||
| take the following attributes: | |||
| A project file is an XML file that describes which tasks to execute, and in | |||
| which order to execute them in. A project can be broken up into several steps, | |||
| or <i>targets</i>. A target is simply a list of the tasks that need to be | |||
| executed to perform the step. A target may also include some dependency | |||
| information. Myrmidon makes sure that targets are executed in the correct order, | |||
| so that a target is executed before the targets that depend on it.</p> | |||
| <p>The project file format is very similar to the format used in Ant 1. The | |||
| root element of a project file must be a <code><project></code> element. | |||
| It can take the following attributes: | |||
| </p> | |||
| <table> | |||
| @@ -20,7 +27,7 @@ take the following attributes: | |||
| <tr> | |||
| <td>name</td> | |||
| <td>The project name.</td> | |||
| <td>The base-name of the project file, with the extension removed.</td> | |||
| <td>The name of the project file, with the extension removed.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>basedir</td> | |||
| @@ -36,7 +43,7 @@ take the following attributes: | |||
| </tr> | |||
| <tr> | |||
| <td>version</td> | |||
| <td>The project file version that the project is written for.</td> | |||
| <td>The project file format version that the project is written for.</td> | |||
| <td>None, must be <code>2.0</code></td> | |||
| </tr> | |||
| </table> | |||
| @@ -47,13 +54,13 @@ in the order given below: | |||
| </p> | |||
| <ul> | |||
| <li><a href="#Project References"><code><projectref></code></a></li> | |||
| <li><a href="#Library Imports"><code><import></code></a></li> | |||
| <li><a href="#Implicit Tasks">Implicit tasks</a></li> | |||
| <li><a href="#Targets"><code><target></code></a></li> | |||
| <li><a href="#project-refs">Project references</a></li> | |||
| <li><a href="#antlib-imports">Library imports</a></li> | |||
| <li><a href="#init-tasks">Initialization tasks</a></li> | |||
| <li><a href="#targets">Targets</a></li> | |||
| </ul> | |||
| <subsection name="Project References"> | |||
| <subsection name="Project References" anchor="project-refs"> | |||
| <p>Project references allow the project to import, or reference, other projects. | |||
| A <code><projectref></code> element takes the following attributes:</p> | |||
| @@ -74,7 +81,7 @@ A <code><projectref></code> element takes the following attributes:</p> | |||
| <p> | |||
| The targets of a referenced project can be used in the <code>depends</code> list | |||
| of a target in the referencing project, using the following syntax: | |||
| of a target in the referencing project, using the syntax | |||
| <code><i>project-name</i>-><i>target-name</i></code>. Here is a simple example:</p> | |||
| <source><![CDATA[ | |||
| @@ -92,7 +99,7 @@ of a target in the referencing project, using the following syntax: | |||
| </subsection> | |||
| <subsection name="Library Imports"> | |||
| <subsection name="Library Imports" anchor="antlib-imports"> | |||
| <p>Library imports allow the project to import the tasks and data-types from an | |||
| antlib. An <code><import></code> element takes the following attributes:</p> | |||
| @@ -141,11 +148,11 @@ the <code>my-tasks</code> antlib.</p> | |||
| </subsection> | |||
| <subsection name="Implicit Tasks"> | |||
| <subsection name="Initialization Tasks" anchor="init-tasks"> | |||
| <p>Implicit tasks are run before any of the project's targets are run. Any task | |||
| can be used, including <code><property></code> and data-type instances. | |||
| Implicit tasks can be used to initialise the project. For example:</p> | |||
| <p>Initialisation tasks are run before any of the project's targets are run, and | |||
| are used to initialise the project. Any task can be used as an initialization | |||
| task, including <code><property></code> and data-type instances. An example:</p> | |||
| <source><![CDATA[ | |||
| @@ -166,7 +173,7 @@ Implicit tasks can be used to initialise the project. For example:</p> | |||
| </subsection> | |||
| <subsection name="Targets"> | |||
| <subsection name="Targets" anchor="targets"> | |||
| <p>Targets have a similar format to targets in Ant 1.x, though some of the | |||
| behaviour is different. A <code><target></code> element takes the | |||
| @@ -2,7 +2,7 @@ | |||
| <document> | |||
| <properties> | |||
| <title>On ClassLoaders in Ant2</title> | |||
| <title>On ClassLoaders in Ant 2</title> | |||
| <author email="peter@apache.org">Peter Donald</author> | |||
| </properties> | |||
| @@ -10,9 +10,9 @@ | |||
| <section name="ClassLoader Management"> | |||
| <p>In many ways Ant2 needs to follow rules similar to a number of | |||
| <p>In many ways Ant 2 needs to follow rules similar to a number of | |||
| different application servers with respect to ClassLoader management. | |||
| Ant2 will create a number of different ClassLoaders that have access | |||
| Ant 2 will create a number of different ClassLoaders that have access | |||
| to different sets of resources (and thus Classes). The main reason | |||
| for this arrangment is to partition different sections of the | |||
| application such as the Container, the Task API, task/type libraries | |||
| @@ -26,7 +26,7 @@ | |||
| variables defined by said classes) in a parent ClassLoader are shared with | |||
| the child ClassLoaders.</p> | |||
| <p>Using kooky ascii art, the specific ClassLoader structure for Ant2 is as | |||
| <p>Using kooky ascii art, the specific ClassLoader structure for Ant 2 is as | |||
| follows:</p> | |||
| <source> | |||
| @@ -59,7 +59,7 @@ | |||
| <li> | |||
| The | |||
| <strong>Common</strong> ClassLoader contains the classes and resources | |||
| that are made visible to both the Container and to all the ant type librarys. This | |||
| that are made visible to both the Container and to all the ant type libraries. This | |||
| contains all the classes that the Container uses to communicate with tasks and other | |||
| supporting infrastructure. In particular it contains the following APIs; | |||
| @@ -85,7 +85,7 @@ | |||
| <strong>NOTE</strong>: These interfaces | |||
| are not to be used by user tasks but are made available so that certain tasks (such | |||
| as <antcall/>) can be implemented. However they are subject to change without | |||
| notice between between different ant2 versions. | |||
| notice between between different Ant 2 versions. | |||
| </li> | |||
| </ul> | |||
| @@ -101,7 +101,7 @@ | |||
| <strong>Container</strong> ClassLoader contains all the classes and resources | |||
| that are part of the actual implementation of the Container. These classes are not | |||
| directly accessible to any Ant library or task. Some of the classes are indirectly | |||
| accessible to tasks and other elements defined in the ant librarys as they implement | |||
| accessible to tasks and other elements defined in the ant libraries as they implement | |||
| interfaces defined in the | |||
| <strong>Common</strong> ClassLoader. The classes that are | |||
| stored in jars in the | |||
| @@ -111,7 +111,7 @@ | |||
| <li> | |||
| The | |||
| <strong>Shared</strong> ClassLoader contains all the classes and resources | |||
| that are shared across all of the ant librarys (unless they are als needed by the | |||
| that are shared across all of the ant libraries (unless they are als needed by the | |||
| container in which case they should be placed int the | |||
| <strong>Container</strong> | |||
| ClassLoader). This ClassLoader is populated by all the jars that are contained in | |||
| @@ -2,7 +2,7 @@ | |||
| <document> | |||
| <properties> | |||
| <title>On Task Configuring in Ant2</title> | |||
| <title>On Task Configuring in Ant 2</title> | |||
| <author email="peter@apache.org">Peter Donald</author> | |||
| </properties> | |||
| @@ -1,7 +1,7 @@ | |||
| <document> | |||
| <properties> | |||
| <author email="adammurdoch@apache.org">Adam Murdoch</author> | |||
| <title>Differences to Ant1</title> | |||
| <title>Differences to Ant 1</title> | |||
| </properties> | |||
| <body> | |||
| @@ -8,10 +8,11 @@ | |||
| <body> | |||
| <section name="Get Involved"> | |||
| <p>There are plenty of things you can do to help out with Myrmidon. The Todo | |||
| list below describes items which still need to be done. Of course, since | |||
| this is an open-source project, there's plenty of scope for experimentation, | |||
| and you can pretty much make up your own items to work on.</p> | |||
| <p>There are plenty of things you can do to help out with Myrmidon. The | |||
| <a href="todo.html">Todo list </a> describes items which still need to | |||
| be done. Of course, since this is an open-source project, there's | |||
| plenty of scope for experimentation, and you can pretty much make up | |||
| your own items to work on.</p> | |||
| <p>Some things that are worth reading if you do want to get involved:</p> | |||
| <ul> | |||
| @@ -28,8 +28,8 @@ | |||
| <section name="What is Myrmidon?"> | |||
| <p>Myrmidon is a proposal for Ant 2. Ant2 is the next evolution of the | |||
| Ant build tool aimed at removing many of the limitations of the Ant1.x | |||
| <p>Myrmidon is a proposal for Ant 2. Ant 2 is the next evolution of the | |||
| Ant build tool aimed at removing many of the limitations of the Ant 1.x | |||
| product. In particular it aims to;</p> | |||
| <ul> | |||
| @@ -40,7 +40,7 @@ | |||
| <li>Simplify development of tasks by task-writers.</li> | |||
| <li>Enable ad-hoc "tasks" to be written inside build file, | |||
| probably using well known scripting languages such as python and | |||
| javascript. (Possible in ant1.x but prohibitively difficult).</li> | |||
| javascript. (Possible in Ant 1.x but prohibitively difficult).</li> | |||
| <li>Integrate templating technologies such as XSLT, velocity etc | |||
| to enable development of reusable build file elements.</li> | |||
| </ul> | |||
| @@ -55,7 +55,7 @@ | |||
| is an example of such a tool, which could be assembled using the Myrmidon | |||
| task container, and a library of build related tasks. In the future expect | |||
| to see Testing frameworks, Job Schedulers (ie Cron managers), shells | |||
| and install tools based on the myrmidon base.</p> | |||
| and install tools based on the Myrmidon base.</p> | |||
| </section> | |||
| @@ -2,7 +2,7 @@ | |||
| <document> | |||
| <properties> | |||
| <title>On Librarys in Ant2</title> | |||
| <title>On Libraries in Ant 2</title> | |||
| <author email="peter@apache.org">Peter Donald</author> | |||
| </properties> | |||
| @@ -10,13 +10,13 @@ | |||
| <section name="Library Management"> | |||
| <p>Long ago there was identified the need for librarys that contain | |||
| <p>Long ago there was identified the need for libraries that contain | |||
| tasks and other elements present in the build file. This document | |||
| attempts to describe the mechanism via which these libraries will be | |||
| defined and used in Ant2. The librarys (also referred to as | |||
| defined and used in Ant 2. The libraries (also referred to as | |||
| deployments) will be termed antlibs.</p> | |||
| <p>Ant librarys can be packaged and signed into a ANt Type Library | |||
| <p>Ant libraries can be packaged and signed into a ANt Type Library | |||
| format (.atl) using the standard Java Archive tools. (For details on | |||
| the .jar file format see the | |||
| @@ -33,7 +33,7 @@ | |||
| be referenced in the build file (an example being DTDs). | |||
| </p> | |||
| <p>The library may also need access to other librarys or resources | |||
| <p>The library may also need access to other libraries or resources | |||
| to perform its job. For instance, if the task loaded an XML document | |||
| and then processed said document using the | |||
| <em>Trax API</em> then | |||
| @@ -79,7 +79,7 @@ | |||
| ant library thus needs a mechanism via which to declare dependencies on | |||
| external libraries.</p> | |||
| <p>Ant2 uses the "Optional Package" mechanism. Prior to JDK1.3, an "Optional | |||
| <p>Ant 2 uses the "Optional Package" mechanism. Prior to JDK1.3, an "Optional | |||
| Package" was known as an | |||
| <em>Extension</em>. The specification for this | |||
| mechanism is available in the JDK1.3 documentation in the directory | |||
| @@ -139,7 +139,7 @@ trax-Implementation-Version: 2.1.0 | |||
| trax-Implementation-Vendor: Apache Software Foundation | |||
| </source> | |||
| <p>To make other jars available to Ant librarys as "Optional Packages" | |||
| <p>To make other jars available to Ant libraries as "Optional Packages" | |||
| or Extensions then you need to add a few lines to the manifest of the | |||
| other jar. The minimal manifest is the following;</p> | |||
| @@ -23,7 +23,12 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="$subbannerbg"> | |||
| <font color="$subbannerfg" face="arial,helvetica,sanserif"> | |||
| <a name="$subsection.getAttributeValue("name")"><strong>$subsection.getAttributeValue("name")</strong></a> | |||
| #if ( $subsection.getAttributeValue("anchor") ) | |||
| #set ($anchor = $subsection.getAttributeValue("anchor")) | |||
| #else | |||
| #set ($anchor = $subsection.getAttributeValue("name")) | |||
| #end | |||
| <a name="$anchor"><strong>$subsection.getAttributeValue("name")</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -48,7 +53,12 @@ | |||
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> | |||
| <tr><td bgcolor="$bannerbg"> | |||
| <font color="$bannerfg" face="arial,helvetica,sanserif"> | |||
| <a name="$section.getAttributeValue("name")"><strong>$section.getAttributeValue("name")</strong></a> | |||
| #if ( $section.getAttributeValue("anchor") ) | |||
| #set ($anchor = $section.getAttributeValue("anchor")) | |||
| #else | |||
| #set ($anchor = $section.getAttributeValue("name")) | |||
| #end | |||
| <a name="$anchor"><strong>$section.getAttributeValue("name")</strong></a> | |||
| </font> | |||
| </td></tr> | |||
| <tr><td> | |||
| @@ -11,10 +11,10 @@ | |||
| </menu> | |||
| <menu name="User Guide"> | |||
| <item name="Build file" href="/buildfile.html"/> | |||
| <item name="Project File" href="/buildfile.html"/> | |||
| <item name="Virtual File System" href="/vfs.html"/> | |||
| <item name="Ant1 Compatibility Layer" href="/ant1compat.html"/> | |||
| <item name="Differences to Ant1" href="/differences.html"/> | |||
| <item name="Ant 1 Compatibility Layer" href="/ant1compat.html"/> | |||
| <item name="Differences to Ant 1" href="/differences.html"/> | |||
| <item name="My First Task" href="/task.html"/> | |||
| </menu> | |||
| @@ -9,7 +9,7 @@ | |||
| <section name="My First Task"> | |||
| <p>In ant1 it was very easy to write your own task. In Ant2 we plan | |||
| <p>In Ant 1 it was very easy to write your own task. In Ant 2 we plan | |||
| to make it even easier. To write a basic task simply follow the following | |||
| formula.</p> | |||
| @@ -22,7 +22,7 @@ | |||
| <subsection name="Integrate XDocs proposal"> | |||
| <p>Integrate with the XDocs proposal that generates XML documentation for | |||
| tasks. Rework that proposal so that it knows about the myrmidon specific | |||
| tasks. Rework that proposal so that it knows about the Myrmidon specific | |||
| patterns and features. Also rework it so that it can support reading | |||
| documentation and examples from side-by-side the task.</p> | |||
| </subsection> | |||
| @@ -211,7 +211,7 @@ File[] files = cm.getOutOfDate(); | |||
| <subsection name="Mail tasks"> | |||
| <p>Convert the ant1.x Mail tasks to myrmidon.</p> | |||
| <p>Convert the Ant 1.x Mail tasks to Myrmidon.</p> | |||
| </subsection> | |||
| @@ -281,25 +281,25 @@ public class MyrmidonSecurityManager | |||
| </subsection> | |||
| <subsection name="Ant 1.x Compatibility"> | |||
| <p>The Ant1 Compatibility layer is still in early stages of development. | |||
| <p>The Ant 1 Compatibility layer is still in early stages of development. | |||
| </p> | |||
| <ul> | |||
| <li>Get a version of <code><antcall></code> working.</li> | |||
| <li> | |||
| Provide hooks between Ant1 references and Myrmidon properties. | |||
| May use converters for adapting Ant2 objects (like Ant2 | |||
| Provide hooks between Ant 1 references and Myrmidon properties. | |||
| May use converters for adapting Ant 2 objects (like Ant 2 | |||
| <code><path></code> or <code><fileset></code>) | |||
| as Ant1 types. | |||
| as Ant 1 types. | |||
| </li> | |||
| <li> | |||
| Missing tests: | |||
| <ul> | |||
| <li>Make sure properties are shared between Ant1 and Myrmidon tasks.</li> | |||
| <li>Make sure properties are shared between Ant 1 and Myrmidon tasks.</li> | |||
| </ul> | |||
| </li> | |||
| <li>Get GUMP runs going using Myrmidon.</li> | |||
| <li>Add protected accessors for get/set/list properties in | |||
| Ant1 Project, to minimise the amount of code duplication in | |||
| Ant 1 Project, to minimise the amount of code duplication in | |||
| Ant1CompatProject.</li> | |||
| </ul> | |||
| </subsection> | |||
| @@ -524,9 +524,6 @@ public class MyrmidonSecurityManager | |||
| <code><socket></code> | |||
| conditions to an antlib. Need to resolve how these will be passed a logger. | |||
| </li> | |||
| <li>Allow the | |||
| <code><if></code> task to take any condition implementation. | |||
| </li> | |||
| <li>Add an else block to the | |||
| <code><if></code> task. | |||
| </li> | |||
| @@ -551,6 +548,9 @@ public class MyrmidonSecurityManager | |||
| <li>Split the <code><uptodate></code> condition into | |||
| a condition that checks against a single target file, | |||
| and one which checks using a destdir/mapper.</li> | |||
| <li>Add condition implementations to: check JVM version, | |||
| check Ant version, check whether a particular antlib or extension is | |||
| available, match a string against a regular expression.</li> | |||
| <li>Add a task to unset a property.</li> | |||
| <li>Change the various def and import task to allow a classpath | |||
| to be provided.</li> | |||
| @@ -11,7 +11,7 @@ | |||
| <p> | |||
| First, you will need to fetch the Myrmidon source from CVS. The source | |||
| can be source in the <code>proposal/myrmidon</code> directory of the | |||
| can be found in the <code>proposal/myrmidon</code> directory of the | |||
| Ant source tree. You should check out the <code>jakarta-ant</code> CVS | |||
| module, as described | |||
| <a href="http://jakarta.apache.org/site/cvsindex.html">here</a>. | |||
| @@ -97,10 +97,10 @@ prompt> <i>java</i> -jar <i>ant-home</i>/bin/myrmidon-launcher.jar <i>options</i | |||
| <p>When started, Myrmidon looks for a project file called <code>build.ant</code> | |||
| in the current directory. A different project file can be specified using the | |||
| <code>-f</code> command-line option. Myrmidon executes the targets given on | |||
| the command-line, or the default target if none is given. For example, the | |||
| following executes the targets <code>clean</code> and <code>build</code> from | |||
| the project file <code>my-project.xml</code>:</p> | |||
| <code>-f</code> command-line option. Myrmidon executes the targets that are | |||
| listed on the command-line, or the default target if none is given. For | |||
| example, the following command executes targets <code>clean</code> and | |||
| <code>build</code> from project file <code>my-project.xml</code>:</p> | |||
| <pre> | |||
| prompt> ant -f my-project.xml clean build | |||