* 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 | |||