ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <bode...@apache.org>
Subject [DISC] Datatypes
Date Mon, 26 Mar 2001 07:57:24 GMT
 * 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.

  Q: What is a converter? Is this an implementation detail?
  A: Not an implementation detail but a way to extend the engine
  to convert more data types. Currently we have fixed set that is 
  expanded on occasion (ie includes primitive types + File). Instead
  of spreading converting code through out tasks it can be centralized 
  into one component and used by engine. This becomes particularly 
  relevent if you build ant based testing systems and use ant in certain
  web-related areas.

* 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.


Mime
View raw message