+
+ The file data-types, such as <fileset> and
+<path> , are some of the most widely used parts of Ant 1.x.
+Unfortunately, they aren't particularly extensible.
+
+ - Redesign the file data-types, replacing them with an interface-based
+ API, plus a set of implementations. The API should use the VFS file
+
FileObject , rather than java.io.File .
+ This process has started, in the antlib.vfile package.
+
+ - File Selectors:
+
+ - Change
AbstractNameFileSelector to use Ant 1 style patterns
+ matches, rather than Globs patterns.
+ - Add 'defaultexcludes' to
DefaultFileSet . Also add a
+ file selector implementation that matches everything except the default
+ excludes.
+ - Add a condition -> file selector adaptor, so that arbitrary conditions
+ can be used to select files.
+ - Add a name selector that loads patterns from a file.
+ - Add more selector implementations: size and last-modified comparisons,
+ checksum comparison, byte-wise content comparison.
+
+ - File Name Mappers:
+
+ - Add a file name mapper interface, and port the current Mapper
+ implementations to it.
+
+ - File Sets:
+
+ - Add a file set implementation that uses a mapper to transform a nested
+ file set.
+ - 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).
+ - Add a file set implementation that filters files that are up-to-date
+ WRT some other file. Alternatively, this might be better done using a
+ file selector.
+
+ - Paths:
+
+ - Add path implementations that evaluate to the system classpath,
+ and the ant runtime classpath. Or, more generally, combine this with
+
ClassLoaderManager 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).
+
+ - File Filters:
+
+ - Add a file filter interface, and use it in the copy task.
+ - Add a filter implementation that applies the token replacement that
+ the old copy task provides.
+ - Add a filter that does cr/lf translation.
+ - Add a gzip/gunzip filter.
+ - Add a filter that applies character set encode/decode.
+
+ - Copy task:
+
+ - Implement 'preservelastmodified', 'overwrite', and 'includeemptydirs'.
+ - Support a file name mapper.
+ - Support file filters.
+
+ - Implement the
<move> , <delete> ,
+ <touch> and <mkdir> 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.
|
diff --git a/proposal/myrmidon/src/xdocs/todo.xml b/proposal/myrmidon/src/xdocs/todo.xml
index a00b7b4a7..3dd3fde97 100644
--- a/proposal/myrmidon/src/xdocs/todo.xml
+++ b/proposal/myrmidon/src/xdocs/todo.xml
@@ -73,6 +73,79 @@ by Myrmidon.
+