ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Diane Holt <hol...@yahoo.com>
Subject Re: Is there a way to search a directory structure?
Date Wed, 14 Nov 2001 17:06:20 GMT
--- Alan Pearlman Spencer <Alan.PearlmanSpencer@Mobileaware.com> wrote:
> Can this type of thing work for searching a dir tree?
> I cant get it to work?
> I'm trying to search for a file anywhere in a dir tree and set a
> property if that is there.
> Like the available task, but I can't see how to get it to search a
> complete tree.
> 
> I've tried:
> <available resource="my.file.txt" type="file" property="found">

The "resource" attribute is used when you're looking for something in a
jar-file. The "type" attribute is only valid when you've specified a file,
via the "file" attribute, as what you're looking for (and should check for
that and print an error -- my bad, so I'll fix that :)

>   <classpath>
>     <fileset dir="${search.root}">
>       <include name="**"/>
>       <exclude name="**/*.*"/>
>     </fileset>
>   </classpath>

The nested <classpath> is used when you've specified you're looking for
either a class or a resource, not when you're looking for a file (or
directory).

The documentation says you can use a nested <filepath> element when you're
looking for a file (or directory), but I can't get that to work, so either
I'm not doing it right, or there's a bug in how it's doing it (I'm leaning
towards that :)

For example, I tried:
  <target name="findFile">
    <available property="found" file="A.java">
      <filepath>
        <fileset dir=".">
          <include name="**"/>
        </fileset>
      </filepath>
    </available>
    <echo message="found = ${found}"/>
  </target>

Running this target with -verbose shows it recursively searching through
all the subdirs, so that's good -- but it looks like it's made the
filename it's looking for the full-path name, based on the basedir, so
even though the file exists several subdirectories down from basedir, it's
not going to match.

Even more unfortunately, though, I tried just 'touch'ing an A.java in the
local directory, and it didn't find it there, either :(  Looks like some
debugging is in order.

Diane

=====
(holtdl@yahoo.com)



__________________________________________________
Do You Yahoo!?
Find the one for you at Yahoo! Personals
http://personals.yahoo.com

--
To unsubscribe, e-mail:   <mailto:ant-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-user-help@jakarta.apache.org>


Mime
View raw message