создать набор файлов из всех файлов, соответствующих шаблону, за исключением файлов с определенным одноуровневым файлом - PullRequest
4 голосов
/ 23 августа 2011

Я хотел бы создать набор файлов из файлов, соответствующих определенному шаблону, но исключить из этого набора все файлы, которые имеют другой конкретный файл в том же каталоге.

Например, я хотел бы, чтобы набор файлов соответствовалвсе файлы ./*/file.xml, например:

<fileset dir="${some.dir}" includes="*/file.xml" />

... но я хочу исключить любые файлы file.xml, которые находятся в том же каталоге, что и файл ignore.this.

Таким образом, если структура dir:

foo/file.xml
bar/file.xml
bar/ignore.this

... будет выбран файл file.xml в foo, но не будет bar.

1 Ответ

3 голосов
/ 23 августа 2011

Вы можете использовать набор файлов с селектором present с картографом:

<fileset dir="${some.dir}" includes="*/file.xml">
    <present targetdir="${some.dir}" present="srconly">
        <mapper type="regexp" from="^(.*)/.*" to="\1/ignore.this" />
    </present>
</fileset>

То есть включать только файлы с именем file.xml, где втот же каталог с именем ignore.this.

...