ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Diane Holt <>
Subject Re: reverse glob mapper pattern?
Date Sun, 22 Sep 2002 00:16:56 GMT
--- Jacob Kjome <> wrote:
> So, I need to find all files that have a corresponding 
> "sample.*" file and delete those.
> If I just use the following, it deletes the sample.* file, not the *
> file which is the opposite of what I want...
> [snip]
>                  <present present="both" targetdir="${src.dir}">
>                      <mapper type="glob" from="sample.*" to="*" />
>                  </present>

That's because it's returning what <present> says it will return, which is
just those files that do have equivalents -- it doesn't return the
equivalents as well.

> So, my question is, how do I set up a pattern where the fileset will get
> a list of the "*" files rather than the sample.* files to delete?

Generate the fileset the way you currently are, only do it outside of the
<delete>, id it, then use <pathconvert> to get a comma-separated list to
pass to 'includes' for the <delete>:
  <target name="doDelete">
    <fileset dir="${src.dir}" id="fs">
      <present targetdir="${src.dir}">
        <mapper type="glob" from="sample.*" to="*" />
    <pathconvert pathsep="," property="fs.sample" refid="fs">
      <map from="${src.dir}${file.separator}" to=""/>
    <pathconvert pathsep="," property="fs.copy" refid="fs">
      <map from="${src.dir}${file.separator}sample." to=""/>
    <property name="delete.includes" value="${fs.sample},${fs.copy}"/>
      <fileset dir="${src.dir}" includes="${delete.includes}"/>



Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message