Разделитель набора файлов Ant concat - PullRequest
4 голосов
/ 07 июня 2011

При использовании concat с набором файлов в Ant, как мне выполнить действие для каждого элемента в наборе файлов. Например, добавив строку:

<fileset dir="${project.path.scripts-library}"
                excludes="!*.js, **/*.bak, **/dev.*"
>
    <type type="file" />
    <include name="**/0*.js" />
    <include name="**/1*.js" />
    <string>test</string>
</fileset>

Или отображение текущего имени файла для каждого файла в наборе файлов (и как мне получить имя файла для текущего файла ???):

<fileset dir="${project.path.scripts-library}"
                excludes="!*.js, **/*.bak, **/dev.*"
>
    <echo file="${app.path.file}" 
            append="true"
            message=",${the.file.name}" />

    <type type="file" />
    <include name="**/0*.js" />
    <include name="**/1*.js" />
</fileset>

1 Ответ

4 голосов
/ 07 июня 2011

Я думаю, что по умолчанию муравья нет.Наиболее близким является <apply>, но это зависит от системы:

<apply executable="echo"> <!-- run this command with each file name -->
  <fileset dir="/tmp" includes="**/*.*"/>
</apply>

Также вы можете установить ant-contrib , чтобы включить <for> задача:

<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<for param="file">
  <path>
    <fileset dir="/tmp" includes="**/*.*"/>
  </path>
  <sequential> <!-- run any task here -->
    <echo>file [@{file}]</echo>
  </sequential>
</for>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...