* Allow mappers to be genericised so that particular features can be modified
during mapping. Something similar to
<fileset ...>
<include name="*.sh"/>
<mapper type="unix-permissions">
<param name="user" value="ant"/>
<param name="group" value="ant"/>
<param name="mod" value="755"/>
</mapper>
</fileset>
* Allow include/exclude tow work with multiple characteristerics of a file.
ie include into fileset if file is readable, modified after 29th of Feb,
has a name that matches patter "**/*.java" and the property "foo.present"
is set. Something similar to
<include>
<item-filter type="name" value="**/*.java"/>
<item-filter type="permission" value="r"/>
<!-- could optionally be directory/or some other system specific features -->
<item-filter type="type" value="file"/>
<item-filter type="modify-time"
operation="greater-than"
value="29th Feb 2003"/>
</include>
* provide datatypes through property tag and remove need for separate free
standing entities. ie
<property name="foo">
<fileset dir="blah">
<include name="*/**.java" />
</fileset>
</property>
* provide support for non-hardwired (ie loadable) low-level
components (mappers/itemset-filters/converters). Allow them to be
loaded in either global or a new classloader.
* provide support for non-hardwired (ie loadable) converters.
/i.e. make the hardcoded rules from IntrospectionHelper pluggable/
* Make all datatypes interfaces to allow them to be customized in many
ways.
* Set arithmetic for fileset/patternset/*set
* inheritance of ant properties/datatypes/context etc in project hierarchy
* inheritance of between ant datatypes. ie fileset A inherits from
fileset B (includes all entries in A).
* Homogenize notion of PATHs and filesets.