Абсолютный путь Ant к одному файлу в наборе файлов

Я использую Jenkins с плагином Email-Ext для автоматизации модульного тестирования PHP. Если тесты не пройдены, я хочу отправить себе электронное письмо с уведомлением, включая заархивированные отчеты о тестах.

Для подключаемого модуля Email-Ext требуется определение набора файлов Ant в поле вложения. Заархивированный отчет об испытаниях можно найти здесь:

D:\Test_Reports\test-report-failed.zip

Я не могу найти рабочий пример использования fileset с абсолютным путем к одному файлу.

Я пробовал следующее, но не работал:

<fileset file="D:\Test_Reports\test-report-failed.zip" />

Можно найти любой пример использования абсолютных путей, но только относительных путей.

Это официальная справка от плагина Email-ext о поле вложения:

This is the set of attachments that will be used for the email. The format is a comma separated list of Ant include file syntax. The base directory is the workspace.


person papaiatis    schedule 07.03.2013    source источник
comment
Затем ссылайтесь на них относительно рабочей области, а не с абсолютным путем.   -  person niculare    schedule 07.03.2013
comment
Рабочая область может быть разной и находится на другом диске. Я должен как-то использовать абсолютные пути.   -  person papaiatis    schedule 07.03.2013


Ответы (3)


Для этого можно использовать тег <include/>. Это будет выглядеть так.

<fileset dir="D:\Test_Reports">
    <include name="test-report-failed.zip" />
</fileset>

Если вы хотите получить путь к файлу в свойстве, вы можете сделать это таким образом (я тестировал это, и это работает):

<path id="absolute.path.id">
    <fileset dir="D:\Test_Reports">
        <include name="test-report-failed.zip" />
    </fileset>
</path>
<property name="absolute.path" value="${toString:absolute.path.id}" />
<echo>file absolute path: ${absolute.path}</echo>
person pepuch    schedule 07.03.2013
comment
Я считаю, что должен указать только синтаксис включения. Но я предполагаю, что невозможно использовать абсолютный путь в инструкции include. - person papaiatis; 07.03.2013
comment
Я отредактировал свой ответ. Вы можете использовать задачу <path/>, чтобы получить абсолютный путь. - person pepuch; 07.03.2013

Просто укажите абсолютный путь к вашему файлу в поле вложения (не элемент XML).

person Pierre Salagnac    schedule 07.03.2013

Я решил это, изменив рабочее пространство Jenkins Job на каталог, в котором находятся отчеты о тестировании и другие ресурсы. Затем я использовал относительную адресацию к zip-файлу, например: test-report-failed.zip

person papaiatis    schedule 07.03.2013
comment
это не полезно никому другому - person ldgorman; 29.07.2014