Ant 1.3 provides for a mapper that allows the definition of mapping between a
fileset and derived files for testing "uptodate", including a "merge" mapping
that goes from a set of giles to a single file (such as a .jar or .zip).
 
Several kinds of build activities go from a single file to many files.  The one I
am encountering all the time is code generation for CORBA, where a single
.idl file is converted into many .java files.  I'd probably handle this as
 
<uptodate property="idlgen.uptodate">
   <srcfiles dir="${idl.dir}" name="some.idl" />
   <targetfiles dir="${java.out.dir}/some" />
</uptodate>
 
Then srcfiles AND targetfiles are FileSets and only if all targets are
more recent than all sources is the target up to date.  In some cases
it is common to idlgenerate a set of idl files into many java files in one operation,
so often srcfiles will actually be in the form "*.idl" or some more general FileSet.
 
This also suggests that mapping might be an element of a fileset, somehow.
<fileset id=obj.files>
   <mapping type="glob" from="*.c" to="*.o" />
   <fileset refid=c.files />
</fileset>
 
sorry for the long append...
____________________________________________________
Marvin Greenberg
Eidea Labs, Inc
 

Reply via email to