2012-03-10 1 views
0

У меня есть следующий муравей цель:Как указать файлы, соответствующие * ~?

<delete> 
    <fileset dir="${qnaire_dir}" includes="**/*~" /> 
    </delete> 

Он не удаляет следующие файлы:

./DETAILS~ 
./qnaire/__init__.py~ 
./qtest.py~ 
./README~ 

Что правильно включает в себя значение, чтобы соответствовать этим файлам?

ответ

2

я нашел ответ! Синтаксис я искал:

<defaultexcludes remove="**/*~" /> 
    <delete> 
    <fileset dir="${qnaire_dir}" includes="**/*~" /> 
    </delete> 
    <defaultexcludes default="true" /> 

После скимминга муравей документации для удаления задачи (http://ant.apache.org/manual/Tasks/delete.html) полдюжины раз, я, наконец, на самом деле заметил это заявление:

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

Итак, я пошел и прочитал о невыполненных случаях. Оказывается, по умолчанию ant исключает набор выражений файлов из всех задач на основе каталогов. Они перечислены здесь: http://ant.apache.org/manual/dirtasks.html#defaultexcludes

Добавление первого элемента по умолчанию и удаление '* ~' из списка позволяет последующей задаче удалить правильную вещь. Второй элемент defaultexcludes возвращает список исключений по умолчанию на место.

0

, если вам нужно регулярное выражение это соответствует все с ~

.*\~ 
+1

Итак, как я могу использовать это в задаче , чтобы соответствовать файлам в вопросе? –