You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Steve Allan <st...@wrq.com> on 2003/02/12 02:37:49 UTC

RE: How to detect missing files when copying from a list of files ?

EJ,

Thanks for the reply.  Sorry if I wasn't clear before - here's an example of
what I want to do.  Say I have a file called files.lst in the root of my
build with the contents:

 lib/foo.jar
 conf/foo.xml

I want to have an Ant task that reads the contents of files.lst and copies
the files listed in it to another directory, say a staging directory.  So
after running the task, I'd now have

  lib/foo.jar 
  conf/foo.xml
  stage/lib/foo.jar
  stage/conf/foo.xml

I want that task to fail if any either foo.jar or foo.xml is missing.  This
is a greatly simplified version; the real application might involve a
file.lst with hundreds of files explicitly listed.

You confirmed my observation that feeding a fileset to copy via the
includesfile element won't work.  Is there some other way to do this short
of <script> or exec'ing an external perl/shell script?

Thanks.

-- Steve


> -----Original Message-----
> From: Ciramella, EJ [mailto:ECiramella@emptoris.com] 
> Sent: Tuesday, February 11, 2003 2:01 PM
> To: 'Ant Users List'
> Subject: RE: How to detect missing files when copying from a 
> list of files ?
> 
> 
> Could I ask for a little more detail?  There may be other 
> ways around your
> problem.  
> 
> What are you copying?  Build.dir could be many things...
> 
> Take a closer look at FileSet - "includesfile the name of a 
> file; each line
> of this file is taken to be an include pattern. ".  This means the
> includesfile simply is a suggestion as to what patterns you 
> should include.
> If a file is missing, the copy isn't going to complain...
> 
> -----Original Message-----
> From: Steve Allan [mailto:stevea@wrq.com]
> Sent: Tuesday, February 11, 2003 4:52 PM
> To: 'user@ant.apache.org'
> Subject: How to detect missing files when copying from a list 
> of files?
> 
> 
> I'm having a recurring problem which I haven't been able to solve
> in Ant. As an example, say I have a file manifest which contains 
> all the files I expect to have in my distribution. I copy that to a 
> staging directory with copy and fileset:
> 
> <copy todir = "${stage.dir}">
>   <fileset dir = "${build.dir}" includesfile = "${file.lst}"/>
> </copy>
> 
> The problem is that if there are files in ${file.lst} that are missing
> (perhaps never built), fileset throws them out and copy never knows
> anything about them. It seems like <filelist> would solve that
> problem, because it would pass all the file names to <copy>, and then
> <copy> would complain about the missing ones. But <copy> won't accept
> a filelist. I really need the task to fail if any file in ${file.lst}
> is not found in ${build.dir}. 
> 
> Is there a cookbook solution to this problem?
> 
> -- Steve __ 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>