ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dona...@apache.org
Subject cvs commit: jakarta-ant/proposal/myrmidon/src/xdocs todo.xml
Date Thu, 21 Mar 2002 09:56:23 GMT
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:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message