darrell     02/03/21 20:26:34

  Modified:    proposal/myrmidon/docs buildfile.html classloader.html
                        getinvolved.html index.html librarys.html task.html
                        todo.html user.html vfs.html
               proposal/myrmidon/src/xdocs todo.xml
               proposal/myrmidon/src/xdocs/stylesheets project.xml
  Added:       proposal/myrmidon/docs ant1compat.html
               proposal/myrmidon/src/xdocs ant1compat.xml
  Removed:     proposal/myrmidon/src/ant1compat README.txt
  Log:
  Converted Ant1 Compatibility layer README to xdoc,
  and updated the docs.
  
  Revision  Changes    Path
  1.5       +2 -0      jakarta-ant/proposal/myrmidon/docs/buildfile.html
  
  Index: buildfile.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/buildfile.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- buildfile.html    13 Mar 2002 08:02:13 -0000      1.4
  +++ buildfile.html    22 Mar 2002 04:26:34 -0000      1.5
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  
  
  
  1.2       +2 -0      jakarta-ant/proposal/myrmidon/docs/classloader.html
  
  Index: classloader.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/classloader.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- classloader.html  2 Mar 2002 01:53:59 -0000       1.1
  +++ classloader.html  22 Mar 2002 04:26:34 -0000      1.2
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  
  
  
  1.2       +2 -0      jakarta-ant/proposal/myrmidon/docs/getinvolved.html
  
  Index: getinvolved.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/getinvolved.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- getinvolved.html  2 Mar 2002 01:53:59 -0000       1.1
  +++ getinvolved.html  22 Mar 2002 04:26:34 -0000      1.2
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  
  
  
  1.5       +2 -0      jakarta-ant/proposal/myrmidon/docs/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/index.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- index.html        2 Mar 2002 01:53:59 -0000       1.4
  +++ index.html        22 Mar 2002 04:26:34 -0000      1.5
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  
  
  
  1.2       +2 -0      jakarta-ant/proposal/myrmidon/docs/librarys.html
  
  Index: librarys.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/librarys.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- librarys.html     2 Mar 2002 01:53:59 -0000       1.1
  +++ librarys.html     22 Mar 2002 04:26:34 -0000      1.2
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  
  
  
  1.2       +2 -0      jakarta-ant/proposal/myrmidon/docs/task.html
  
  Index: task.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/task.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- task.html 3 Mar 2002 08:32:28 -0000       1.1
  +++ task.html 22 Mar 2002 04:26:34 -0000      1.2
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  
  
  
  1.9       +173 -64   jakarta-ant/proposal/myrmidon/docs/todo.html
  
  Index: todo.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/todo.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- todo.html 13 Mar 2002 08:02:13 -0000      1.8
  +++ todo.html 22 Mar 2002 04:26:34 -0000      1.9
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  @@ -96,14 +98,69 @@
                                     <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>
  +      </font>
  +    </td></tr>
  +    <tr><td>
  +      <blockquote>
  +                        <p>Consider allowing the user to configure the ant 
system by setting the
  +                following path types.</p>
  +                                <ul>
  +                    <li>ant.type.path: path that is used to search for the 
type libraries</li>
  +                    <li>ant.ext.path: path that is used to search for 
"Optional Packages"
  +                    or extensions.</li>
  +                </ul>
  +                                <p>
  +                The default search path will probably include a per-user 
path element,
  +                a workspace path element and a system path elemtn that are 
searched in
  +                that order. Some possible defaults;
  +                </p>
  +                                <ul>
  +                    <li>Unix Per-user: ${user.home}/.ant/lib, 
${user.home}/.ant/ext</li>
  +                    <li>Windows Per-user: ${user.home}/ant/lib, 
${user.home}/ant/ext</li>
  +                    <li>MacOSX Per-user: ${user.home}/Library/Ant/lib,
  +                    ${user.home}/Library/Ant/ext</li>
  +                    <li>Unix System-wide: /opt/ant/lib, /opt/ant/ext</li>
  +                    <li>Unix System-wide: /usr/local/ant/lib, 
/usr/local/ant/ext</li>
  +                    <li>Windows System-wide: %SYS_DRIVE%/Program 
Files/ant/lib,
  +                    %SYS_DRIVE%/Program Files/ant/ext</li>
  +                    <li>MacOSX System-wide: /Library/Ant/lib, 
/Library/Ant/ant/ext</li>
  +                </ul>
  +                    </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="Ant 1.x Compatibility"><strong>Ant 1.x 
Compatibility</strong></a>
         </font>
       </td></tr>
       <tr><td>
         <blockquote>
  -                        <p>There are 2 parts to this broad topic:  Allow Ant 
1.x build scripts to be
  -                executed by Myrmidon, and allow Ant 1.x tasks to be executed 
unmodified
  -                by Myrmidon.</p>
  +                        <p>The Ant1 Compatibility layer is still in early 
stages of development.
  +                </p>
  +                                <ul>
  +                    <li>Get a version of <code>&lt;ant&gt;</code> and
  +                    <code>&lt;antcall&gt;</code> working.</li>
  +                    <li>
  +                    Provide hooks between Ant1 references and Myrmidon 
properties.
  +                    May use converters for adapting Ant2 objects (like Ant2
  +                    <code>&lt;path&gt;</code> or 
<code>&lt;fileset&gt;</code>)
  +                    as Ant1 types.
  +                    </li>
  +                    <li>Handle differences between Ant1 if/unless on targets,
  +                    and Myrmidon &lt;if&gt; task.</li>
  +                    <li>
  +                    Write tests for the various bits that rely on Myrmidon
  +                    functionality:
  +                    <ul>
  +                        <li>if/unless on targets: check that behaviour 
complies with Ant1</li>
  +                        <li>Make sure properties are shared between Ant1 and 
Myrmidon tasks.</li>
  +                        <li>Make sure that &lt;ant1.property&gt; behaves as 
per Ant1</li>
  +                    </ul>
  +                    </li>
  +                    <li>Get GUMP runs going using Myrmidon.</li>
  +                </ul>
                       </blockquote>
       </td></tr>
     </table>
  @@ -150,66 +207,96 @@
       </td></tr>
       <tr><td>
         <blockquote>
  -                        <p>The file data-types, such as 
<code>&lt;fileset&gt;</code> and
  -                <code>&lt;path&gt;</code>, are some of the most widely used 
parts of Ant 1.x.
  -                Unfortunately, they aren't particularly extensible.</p>
  +                        <p>The file data-types, such as
  +                    <code>&lt;fileset&gt;</code> and
  +
  +                    <code>&lt;path&gt;</code>, are some of the most widely 
used parts of Ant 1.x.
  +                Unfortunately, they aren't particularly extensible.
  +                </p>
                                   <ul>
                       <li>Redesign the file data-types, replacing them with an 
interface-based
                       API, plus a set of implementations.  The API should use 
the VFS file
  -                    <code>FileObject</code>, rather than 
<code>java.io.File</code>.
  -                    This process has started, in the 
<code>antlib.vfile</code> package.
  +
  +                        <code>FileObject</code>, rather than
  +                        <code>java.io.File</code>.
  +                    This process has started, in the
  +                        <code>antlib.vfile</code> package.
  +
                       </li>
                       <li>File Selectors:
  -                    <ul>
  -                        <li>Change <code>AbstractNameFileSelector</code> to 
use Ant 1 style patterns
  -                        matches, rather than Globs patterns.</li>
  -                        <li>Add 'defaultexcludes' to 
<code>DefaultFileSet</code>.  Also add a
  -                        file selector implementation that matches everything 
except the default
  -                        excludes.</li>
  -                        <li>Add a name selector that loads patterns from a 
file.</li>
  -                        <li>Add more selector implementations: size and 
last-modified comparisons,
  -                        checksum comparison, byte-wise content 
comparison.</li>
  -                    </ul></li>
  +
  +                        <ul>
  +                            <li>Change
  +                                <code>AbstractNameFileSelector</code> to use 
Ant 1 style patterns
  +                            matches, rather than Globs patterns.
  +                            </li>
  +                            <li>Add 'defaultexcludes' to
  +                                <code>DefaultFileSet</code>.  Also add a
  +                            file selector implementation that matches 
everything except the default
  +                            excludes.
  +                            </li>
  +                            <li>Add a name selector that loads patterns from 
a file.</li>
  +                            <li>Add more selector implementations: size and 
last-modified comparisons,
  +                            checksum comparison, byte-wise content 
comparison.</li>
  +                        </ul>
  +                    </li>
                       <li>File conditions:
  -                    <ul>
  -                        <li>Add more condition implementations that perform 
checks on files.
  -                        One that searches a path for a file would be 
useful.</li>
  -                    </ul></li>
  +
  +                        <ul>
  +                            <li>Add more condition implementations that 
perform checks on files.
  +                            One that searches a path for a file would be 
useful.</li>
  +                        </ul>
  +                    </li>
                       <li>File Name Mappers:
  -                    <ul>
  -                        <li>Change FileNameMapper.mapFileName() to take 
vfs.FileName objects.</li>
  -                        <li>Move the current mapper implementations across 
to antlib.</li>
  -                    </ul></li>
  +
  +                        <ul>
  +                            <li>Change FileNameMapper.mapFileName() to take 
vfs.FileName objects.</li>
  +                            <li>Move the current mapper implementations 
across to antlib.</li>
  +                        </ul>
  +                    </li>
                       <li>File Sets:
  -                    <ul>
  -                        <li>Add a file set implementation that provides the 
union of several
  -                        nested file sets (that is, a file set that merges 
several file sets
  -                        together).</li>
  -                        <li>Add a file set implementation that filters files 
that are up-to-date
  -                        WRT some other file.  Alternatively, this might be 
better done as a
  -                        file selector.</li>
  -                    </ul></li>
  +
  +                        <ul>
  +                            <li>Add a file set implementation that provides 
the union of several
  +                            nested file sets (that is, a file set that 
merges several file sets
  +                            together).</li>
  +                            <li>Add a file set implementation that filters 
files that are up-to-date
  +                            WRT some other file.  Alternatively, this might 
be better done as a
  +                            file selector.</li>
  +                        </ul>
  +                    </li>
                       <li>Paths:
  -                    <ul>
  -                        <li>Add path implementations that evaluate to the 
system classpath,
  -                        and the ant runtime classpath.  Or, more generally, 
combine this with
  -                        <code>ClassLoaderManager</code> to evaluate to the 
classpath of any
  -                        'library' (e.g. system classpath, ant runtime, 
tools.jar,
  -                        an antlib, an installed extension, or the system 
classes of another JVM
  -                        for cross-compiling).</li>
  -                    </ul></li>
  +
  +                        <ul>
  +                            <li>Add path implementations that evaluate to 
the system classpath,
  +                            and the ant runtime classpath.  Or, more 
generally, combine this with
  +
  +                                <code>ClassLoaderManager</code> to evaluate 
to the classpath of any
  +                            'library' (e.g. system classpath, ant runtime, 
tools.jar,
  +                            an antlib, an installed extension, or the system 
classes of another JVM
  +                            for cross-compiling).
  +                            </li>
  +                        </ul>
  +                    </li>
                       <li>Port across the Ant 1 file filter proposal, once it 
is complete.</li>
                       <li>Copy task:
  -                    <ul>
  -                        <li>Implement 'preservelastmodified', 'overwrite', 
and 'includeemptydirs'.</li>
  -                        <li>Support a file name mapper.</li>
  -                        <li>Support file filters.</li>
  -                        <li>Detect and handle destination file name 
collisions.</li>
  -                    </ul></li>
  -                    <li>Implement the <code>&lt;move&gt;</code>, 
<code>&lt;delete&gt;</code>,
  -                    <code>&lt;touch&gt;</code> and 
<code>&lt;mkdir&gt;</code> tasks on top
  +
  +                        <ul>
  +                            <li>Implement 'preservelastmodified', 
'overwrite', and 'includeemptydirs'.</li>
  +                            <li>Support a file name mapper.</li>
  +                            <li>Support file filters.</li>
  +                            <li>Detect and handle destination file name 
collisions.</li>
  +                        </ul>
  +                    </li>
  +                    <li>Implement the
  +                        <code>&lt;move&gt;</code>,
  +                        <code>&lt;delete&gt;</code>,
  +
  +                        <code>&lt;touch&gt;</code> and
  +                        <code>&lt;mkdir&gt;</code> tasks on top
                       of the VFS and the new file data-types.  Might be some 
scope for generalising
  -                    'touch' and 'mkdir' into a single task.</li>
  +                    'touch' and 'mkdir' into a single task.
  +                    </li>
                   </ul>
                       </blockquote>
       </td></tr>
  @@ -232,8 +319,12 @@
                       configuration files.</li>
   
                       <li>Allow the following via config files:
  +
                           <ul>
  -                            <li>Add (or override) the <code>lib</code> and 
<code>ext</code> directories.</li>
  +                            <li>Add (or override) the
  +                                <code>lib</code> and
  +                                <code>ext</code> directories.
  +                            </li>
                               <li>Enable more than one listener, and configure 
the listeners from
                               the conents of the config file.</li>
                               <li>Import libraries, and set properties.</li>
  @@ -308,7 +399,9 @@
                                   <ul>
                       <li>Search through the code for 'TODO' items and fix 
them.</li>
                       <li>Allow service factories to be configured from the 
contents of the
  -                    <code>ant-services.xml</code> descriptor.</li>
  +
  +                        <code>ant-services.xml</code> descriptor.
  +                    </li>
                       <li>Route external process stdout and stderr through the 
logger.</li>
                       <li>Add verbosity level to ProjectListener LogEvent</li>
                       <li>Fire ProjectListener events taskFinished(), 
targetFinished() and
  @@ -320,17 +413,33 @@
                       <li>Detect duplicate type names.</li>
                       <li>Add fully qualified type names, based on antlib name 
and type shorthand name.
                       Allow these to be used in build files in addition to the 
shorthand names.</li>
  -                    <li>Move the <code>&lt;http&gt;</code> and 
<code>&lt;socket&gt;</code>
  -                    conditions to an antlib.  Need to resolve how these will 
be passed a logger.</li>
  -                    <li>Make the <code>&lt;uptodate&gt;</code> task a 
condition, and move to
  -                    an antlib.</li>
  -                    <li>Split up <code>&lt;is-set&gt;</code> condition into 
is-set and is-true conditions.</li>
  -                    <li>Allow the <code>&lt;if&gt;</code> task to take any 
condition implementation.</li>
  -                    <li>Add an else block to the <code>&lt;if&gt;</code> 
task.</li>
  -                    <li>Split the <code>&lt;available&gt;</code> condition 
into separate conditions
  -                    that test for the availability of a class, or a 
resource.</li>
  -                    <li>Move <code>crimson.jar</code> to 
<code>bin/lib</code> in the distribution,
  -                    and make to other jars via the extension mechanism.</li>
  +                    <li>Move the
  +                        <code>&lt;http&gt;</code> and
  +                        <code>&lt;socket&gt;</code>
  +                    conditions to an antlib.  Need to resolve how these will 
be passed a logger.
  +                    </li>
  +                    <li>Make the
  +                        <code>&lt;uptodate&gt;</code> task a condition, and 
move to
  +                    an antlib.
  +                    </li>
  +                    <li>Split up
  +                        <code>&lt;is-set&gt;</code> condition into is-set 
and is-true conditions.
  +                    </li>
  +                    <li>Allow the
  +                        <code>&lt;if&gt;</code> task to take any condition 
implementation.
  +                    </li>
  +                    <li>Add an else block to the
  +                        <code>&lt;if&gt;</code> task.
  +                    </li>
  +                    <li>Split the
  +                        <code>&lt;available&gt;</code> condition into 
separate conditions
  +                    that test for the availability of a class, or a resource.
  +                    </li>
  +                    <li>Move
  +                        <code>crimson.jar</code> to
  +                        <code>bin/lib</code> in the distribution,
  +                    and make to other jars via the extension mechanism.
  +                    </li>
                       <li>Unit tests.</li>
                   </ul>
                       </blockquote>
  
  
  
  1.5       +2 -0      jakarta-ant/proposal/myrmidon/docs/user.html
  
  Index: user.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/user.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- user.html 9 Mar 2002 10:31:29 -0000       1.4
  +++ user.html 22 Mar 2002 04:26:34 -0000      1.5
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  
  
  
  1.6       +2 -0      jakarta-ant/proposal/myrmidon/docs/vfs.html
  
  Index: vfs.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/docs/vfs.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- vfs.html  13 Mar 2002 08:02:13 -0000      1.5
  +++ vfs.html  22 Mar 2002 04:26:34 -0000      1.6
  @@ -50,6 +50,8 @@
     </li>
             <li>      <a href="./vfs.html">Virtual File System</a>
     </li>
  +          <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
  +  </li>
           </ul>
         <p><strong>Extending Ant</strong></p>
       <ul>
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/docs/ant1compat.html
  
  Index: ant1compat.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
  
  <!-- Content Stylesheet for Site -->
  
      
  <!-- start the processing -->
      <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1"/>
    
                        <meta name="author" value="Darrell DeBoer">
    <meta name="email" value="darrell at apache dot org">
          
        <title>Apache Myrmidon - Ant1 Compatibitlity Layer</title>
      </head>
    
      <body bgcolor="#ffffff" text="#000000" link="#525D76">    
        <table border="0" width="100%" cellspacing="0">
          <!-- TOP IMAGE -->
          <tr>
            <td>      <td colspan="2">
      <a href="http://jakarta.apache.org";><img 
src="http://jakarta.apache.org/images/jakarta-logo.gif"; align="left" 
border="0"/></a>
      </td>
    </td>
            <td valign="bottom"><div align="right"><b><font size="+3" 
color="#525D76">Apache Myrmidon</font></b></div></td>
          </tr>
        </table>
        <table border="0" width="100%" cellspacing="4">
          <tr><td colspan="2">
            <hr noshade="" size="1"/>
          </td></tr>
          
          <tr>
            <!-- LEFT SIDE NAVIGATION -->
            <td valign="top" nowrap="true">
                  <p><strong>Myrmidon</strong></p>
      <ul>
            <li>      <a href="./index.html">Introduction</a>
    </li>
            <li>      <a href="./getinvolved.html">Get Involved</a>
    </li>
            <li>      <a href="./user.html">Building Myrmidon</a>
    </li>
            <li>      <a href="./todo.html">Todo List</a>
    </li>
          </ul>
        <p><strong>User Guide</strong></p>
      <ul>
            <li>      <a href="./buildfile.html">Build file</a>
    </li>
            <li>      <a href="./vfs.html">Virtual File System</a>
    </li>
            <li>      <a href="./ant1compat.html">Ant1 Compatibility Layer</a>
    </li>
          </ul>
        <p><strong>Extending Ant</strong></p>
      <ul>
            <li>      <a href="./task.html">Task Writers HOWTO</a>
    </li>
            <li>      <a href="./classloader.html">ClassLoader HOWTO</a>
    </li>
            <li>      <a href="./librarys.html">Library HOWTO</a>
    </li>
          </ul>
        <p><strong>Container Design</strong></p>
      <ul>
          </ul>
              </td>
            <td align="left" valign="top">
          <table border="0" cellspacing="0" cellpadding="2" width="100%">
      <tr><td bgcolor="#525D76">
        <font color="#ffffff" face="arial,helvetica,sanserif">
          <a name="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,
              with tasks and datatypes
              being prefixed with "ant1." in build files. Almost all of the 
main Ant1 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
              being compiled from scratch.
              </p>
                                  <p>
              Here's how it works: The first time an Ant1 task is encountered, 
an Ant1
              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,
              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.
              </p>
                                  <p>
              The updated version of Project will provide hooks into the 
Myrmidon TaskContext,
              such as:</p>
                                  <ul>
              <li>logging (done)</li>
              <li>properties (done)</li>
              <li>references (not yet done)</li>
              <li>Task defined by &lt;taskdef&gt; (done)</li>
              </ul>
                                  <p>
              So at present, properties declared in Ant2 tasks are available to 
all Ant1 tasks,
              and vice-versa. However, while a <code>&lt;ant1.path&gt;</code> 
reference works fine
              in other <code>&lt;ant1.XXX&gt;</code>
              tasks, it's not visible to Ant2 tasks in the same build, and 
vice-versa.
              </p>
                                  <p>
              The <code>&lt;taskdef&gt;</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.
              </p>
                                  <p>
              The TransformingProjectBuilder (which is now the default builder 
for files
              of type ".xml", applies a transformation stylesheet to the file, 
prefixing select
              tasks (all at present) with "ant.". If a version attribute is 
encountered, the
              file is not transformed
              </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="Using the compatibility layer"><strong>Using the 
compatibility layer</strong></a>
        </font>
      </td></tr>
      <tr><td>
        <blockquote>
                            <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>
        </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
                  the "ant1." suffix on the regular element name.
                  Virtually <i>all</i> tasks and datatypes from Ant1.4.1 are 
available
                  in this way.
                  </p>
                                  <p>
                  When declaring a new task using the 
<code>&lt;ant1.taskdef&gt;</code>
                  task, <i>don't</i> prepend "ant1." to the taskname. This will 
be
                  done automatically by the taskdef task. However, you will need
                  to use the "ant1." prefix in all uses of that task.
                  </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="Using an existing Ant1 build file"><strong>Using an existing 
Ant1 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
                  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
                  interpreted as though they are prefixed with the "ant." name 
prefix.
                  </p>
                      </blockquote>
      </td></tr>
    </table>
                      </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="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
              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>
                                  <p>To build the compatibility layer, simply 
execute:</p>
                                  <pre>ant -f ant1compat.xml</pre>
                                  <p>from within the root directory of the 
Myrmidon source tree.</p>
                      </blockquote>
      </td></tr>
    </table>
                </td>
          </tr>
  
          <!-- FOOTER -->
          <tr><td colspan="2">
            <hr noshade="" size="1"/>
          </td></tr>
          <tr><td colspan="2">
            <div align="center"><font color="#525D76" size="-1"><em>
            Copyright &#169; 2000-2002, Apache Software Foundation
            </em></font></div>
          </td></tr>
        </table>
      </body>
    </html>
  <!-- end the processing -->
  
  
  
  
  
  
  
  1.11      +24 -5     jakarta-ant/proposal/myrmidon/src/xdocs/todo.xml
  
  Index: todo.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/xdocs/todo.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- todo.xml  21 Mar 2002 09:56:23 -0000      1.10
  +++ todo.xml  22 Mar 2002 04:26:34 -0000      1.11
  @@ -53,11 +53,30 @@
               </subsection>
   
               <subsection name="Ant 1.x Compatibility">
  -
  -                <p>There are 2 parts to this broad topic:  Allow Ant 1.x 
build scripts to be
  -                executed by Myrmidon, and allow Ant 1.x tasks to be executed 
unmodified
  -                by Myrmidon.</p>
  -
  +                <p>The Ant1 Compatibility layer is still in early stages of 
development.
  +                </p>
  +                <ul>
  +                    <li>Get a version of <code>&lt;ant&gt;</code> and
  +                    <code>&lt;antcall&gt;</code> working.</li>
  +                    <li>
  +                    Provide hooks between Ant1 references and Myrmidon 
properties.
  +                    May use converters for adapting Ant2 objects (like Ant2
  +                    <code>&lt;path&gt;</code> or 
<code>&lt;fileset&gt;</code>)
  +                    as Ant1 types.
  +                    </li>
  +                    <li>Handle differences between Ant1 if/unless on targets,
  +                    and Myrmidon &lt;if&gt; task.</li>
  +                    <li>
  +                    Write tests for the various bits that rely on Myrmidon
  +                    functionality:
  +                    <ul>
  +                        <li>if/unless on targets: check that behaviour 
complies with Ant1</li>
  +                        <li>Make sure properties are shared between Ant1 and 
Myrmidon tasks.</li>
  +                        <li>Make sure that &lt;ant1.property&gt; behaves as 
per Ant1</li>
  +                    </ul>
  +                    </li>
  +                    <li>Get GUMP runs going using Myrmidon.</li>
  +                </ul>
               </subsection>
   
               <subsection name="Virtual File System">
  
  
  
  1.1                  jakarta-ant/proposal/myrmidon/src/xdocs/ant1compat.xml
  
  Index: ant1compat.xml
  ===================================================================
  <document>
  
      <properties>
          <author email="darrell at apache dot org">Darrell DeBoer</author>
          <title>Ant1 Compatibitlity Layer</title>
      </properties>
  
      <body>
  
          <section name="Overview">
              <p>
              The Myrmidon-Ant1 Compatibility layer works by reusing most of 
the Ant1 code,
              with tasks and datatypes
              being prefixed with "ant1." in build files. Almost all of the 
main Ant1 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
              being compiled from scratch.
              </p>
              <p>
              Here's how it works: The first time an Ant1 task is encountered, 
an Ant1
              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,
              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.
              </p>
              <p>
              The updated version of Project will provide hooks into the 
Myrmidon TaskContext,
              such as:</p>
              <ul>
              <li>logging (done)</li>
              <li>properties (done)</li>
              <li>references (not yet done)</li>
              <li>Task defined by &lt;taskdef&gt; (done)</li>
              </ul>
  
              <p>
              So at present, properties declared in Ant2 tasks are available to 
all Ant1 tasks,
              and vice-versa. However, while a <code>&lt;ant1.path&gt;</code> 
reference works fine
              in other <code>&lt;ant1.XXX&gt;</code>
              tasks, it's not visible to Ant2 tasks in the same build, and 
vice-versa.
              </p>
  
              <p>
              The <code>&lt;taskdef&gt;</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.
              </p>
  
              <p>
              The TransformingProjectBuilder (which is now the default builder 
for files
              of type ".xml", applies a transformation stylesheet to the file, 
prefixing select
              tasks (all at present) with "ant.". If a version attribute is 
encountered, the
              file is not transformed
              </p>
          </section>
  
          <section name="Using the compatibility layer">
              <subsection name="Using Ant1 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
                  the "ant1." suffix on the regular element name.
                  Virtually <i>all</i> tasks and datatypes from Ant1.4.1 are 
available
                  in this way.
                  </p>
                  <p>
                  When declaring a new task using the 
<code>&lt;ant1.taskdef&gt;</code>
                  task, <i>don't</i> prepend "ant1." to the taskname. This will 
be
                  done automatically by the taskdef task. However, you will need
                  to use the "ant1." prefix in all uses of that task.
                  </p>
              </subsection>
  
              <subsection name="Using an existing Ant1 build file">
                  <p>
                  Myrmidon will automatically handle Ant1 build files using the
                  Ant1 Compatibility layer. So, using an Ant1 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
                  interpreted as though they are prefixed with the "ant." name 
prefix.
                  </p>
  
                  Myrmidon will automatically attempt to upgrade any ".xml" 
build file that
              </subsection>
          </section>
  
          <section name="Building the compatibility layer">
              <p>Before building the Ant1 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>
  
              <p>To build the compatibility layer, simply execute:</p>
              <pre>ant -f ant1compat.xml</pre>
              <p>from within the root directory of the Myrmidon source tree.</p>
  
          </section>
  
      </body>
  </document>
  
  
  
  
  1.6       +1 -0      
jakarta-ant/proposal/myrmidon/src/xdocs/stylesheets/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/myrmidon/src/xdocs/stylesheets/project.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- project.xml       2 Mar 2002 01:53:27 -0000       1.5
  +++ project.xml       22 Mar 2002 04:26:34 -0000      1.6
  @@ -13,6 +13,7 @@
           <menu name="User Guide">
               <item name="Build file" href="/buildfile.html"/>
               <item name="Virtual File System" href="/vfs.html"/>
  +            <item name="Ant1 Compatibility Layer" href="/ant1compat.html"/>
           </menu>
   
           <menu name="Extending Ant">
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to