Почему исключение Ant по умолчанию не работает?

#ant #jenkins

#ant #дженкинс

Вопрос:

Я использую Ant для «непрерывной интеграции». Одна из моих задач — копирование папок из одной точки в другую. Вот моя задача.

 <target name="copy-new">
    <copy todir="/files/apps/blog/" verbose="true">
        <fileset dir=".">
            <exclude name="**/.git" />
            <exclude name="**/.gitignore" />
            <exclude name="**/pom.xml" />
            <exclude name="**/build.xml" />
            <exclude name="**/readme" />
            <exclude name="**/tmp" />
        </fileset>
    </copy>
</target>
 

Как говорится в официальной документации, по умолчанию исключается такая папка .git и т. Д.

Но мои журналы показывают это: (их гораздо больше)

 ...
[copy] Copying /var/lib/jenkins/jobs/blog/workspace/.git/objects/19/5d7e2de34db6ecc5078c477eb26d0684f68bb7 to /files/apps/blog/.git/objects/19/5d7e2de34db6ecc5078c477eb26d0684f68bb7
...
 

Как добавить эти файлы в фильтр игнорирования?

Ответ №1:

Вот так:

 <target name="copy-new">
    <copy todir="/files/apps/blog/" verbose="true">
        <fileset dir=".">
            <exclude name="**/.git/**" />
            <exclude name="**/.gitignore" />
            <exclude name="**/pom.xml" />
            <exclude name="**/build.xml" />
            <exclude name="**/readme" />
            <exclude name="**/tmp/**" />
        </fileset>
    </copy>
</target>
 

Комментарии:

1. Почему исключения по умолчанию не используются ant? Как **/.git/** указано по умолчанию?

2. Возможно, вы используете более старую версию ant . Это только с 1.8.2.

3. Нет, недавно установлено. Версия 1.8.2.

4. О, моя ошибка. Кажется, у меня установлено несколько версий Ant. И действительно, тот, кто выполнял эту задачу, был на 1.8.0.