donaldp     02/03/21 01:56:23

  Modified:    proposal/myrmidon/src/xdocs todo.xml
  Log:
  Add some todo items related to extension /antlib paths
  
  Revision  Changes    Path
  1.10      +141 -61   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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- todo.xml  13 Mar 2002 08:02:13 -0000      1.9
  +++ todo.xml  21 Mar 2002 09:56:23 -0000      1.10
  @@ -24,6 +24,34 @@
   
               </subsection>
   
  +            <subsection name="Paths">
  +
  +                <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>
  +
  +            </subsection>
  +
               <subsection name="Ant 1.x Compatibility">
   
                   <p>There are 2 parts to this broad topic:  Allow Ant 1.x 
build scripts to be
  @@ -64,67 +92,97 @@
   
               <subsection name="File Data-Types and Tasks">
   
  -                <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>
   
               </subsection>
  @@ -142,8 +200,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>
  @@ -200,7 +262,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
  @@ -212,17 +276,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>
   
  
  
  

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

Reply via email to