Hello all,
 
I need to keep a "derived" directory tree in synch with its source tree 
specifically with regard to deletions in the source tree.
 
The source tree has a collection of documents of various types (.doc, .xls, 
etc...).  The real directory is full tree (with many sub-dirs)
 
\Documentation
      --- Design.doc
      --- Testing.doc
      --- Plan.xls
 
While the "dervied" tree has the files converted to .pdf format (the base name 
are the same)
 
\PDFs
    --- Design.pdf
    --- Testing.pdf
    --- Plan.xls

I am able to handles updates/additions to the \Documentation tree (via 
CruiseControl and build scripts) but I stuck on trying to propagate a deletion 
event.  The follow target does not work:
 
<target name="missing">
   <path id="need.to.delete">
      <fileset dir="PDFs">
        <present present="srconly" targetdir="Documentation">
             <mapper type="glob" from="*.*" to="*.pdf"/>
        </present>
      </fileset>
   </path>  
   <pathconvert targetos="windows" property="delete.me" refid="need.to.delete"/>
   <echo>Need to delete ${delete.me}</echo>
</target>

When I run it with -d I get:
missing:
Could not load a dependent class (com/sun/media/jai/codec/FileSeekableStream) 
for type image
Adding reference: need.to.delete
Could not load a dependent class (com/sun/media/jai/codec/FileSeekableStream) 
for type image
Could not load class (org.apache.tools.ant.tasksdefs.cvslib.CvsVersion) for 
type cvsversion
Could not load a dependent class (jdepend/xmlui/JDepend) for type jdepend
fileset: Setup scanner in dir C:\CybeRe\PDFs with patternSet{ includes: [] 
excludes: [] }
[pathconvert] Set property delete.me =
Setting project property: delete.me ->
     [echo] Need to delete
BUILD SUCCESSFUL
 
Basically nothing is picked up by the scanner.
 
As an FYI, I tried use <globmapper .../> instead of <mapper type="glob" .../> 
and got a:
 
BUILD FAILED
C:\CybeRe\build.xml:5: Class 
org.apache.tools.ant.types.selectors.PresentSelector doesn't support the nested 
"globmapper" element.
        at 
org.apache.tools.ant.IntrospectionHelper.throwNotSupported(IntrospectionHelper.java:590)
 
which I did not expect.

Reply via email to