Проблема с базовым именем в Apache Ant с пустыми строками ввода - PullRequest
0 голосов
/ 15 января 2019

У меня есть приведенный ниже код муравья, который дает базовое имя (например, abc_01142018.txt) файла из местоположения input.dir. Когда файл доступен, он работает как положено. Но когда в файле input.dir нет файлов, он выбирает значение, которое я не передаю. Я ожидаю, что это будет пустое значение.

Я читал о basename и нигде не упоминалось о том, как basename работает, когда входной параметр пуст.

<path id="ref-id">
    <fileset dir="${input.dir}">
        <include name="abc*.txt"/>
    </fileset>
</path>
<property name="input.files" refid="ref-id"/>
<basename property="input.file" file="${input.files}" />

1 Ответ

0 голосов
/ 16 января 2019

Нет необходимости использовать Ant типа path или basename, если вам нужен только список имен файлов без родительских каталогов. Тип fileset уже делает это, поэтому просто укажите его идентификатор.

Пример:

<target name="test">
    <touch file="exists1.txt" />
    <touch file="exists2.txt" />

    <fileset dir="." id="exists">
        <include name="exists*.txt" />
    </fileset>

    <fileset dir="." id="doesnotexist">
        <include name="doesnotexist*.txt" />
    </fileset>

    <property name="exists" refid="exists" />
    <property name="doesnotexist" refid="doesnotexist" />

    <echo message="${exists}" />
    <echo message="${doesnotexist}" />
</target>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...