Муравей: Как мне взаимодействовать со всеми подпапками и выполнять задачу в муравье - PullRequest
7 голосов
/ 06 июня 2011

В настоящее время я делаю

<foreach list="${myfolders}" target="bundle"
     param="worksheet" inheritall="true"/>

, чтобы выполнить целевой "комплект" в списке папок.Однако проблема в том, что мне нужно установить этот список.Как мне использовать Ant, чтобы просто перебрать все папки данного родительского каталога?

Если есть способ сделать это, а также исключить определенные папки, которые были бы еще лучше.Спасибо.

Ответы [ 3 ]

10 голосов
/ 06 июня 2011

Вы можете предоставить <dirset> для задачи <foreach>, с которой нужно работать:

 <foreach target="bundle" param="worksheet" inheritall="true">
      <path>
          <dirset dir="${subDir}">
               <include name="*"/>
          </dirset>
      </path>
 </foreach>

Обратите внимание, что параметр list не используется, когда я делаю это таким образом.

Вы не можете использовать <dirset> непосредственно под <foreach>, как вы можете с <fileset>. Однако вы можете поставить <dirset> под <path>, как показано выше. <include name="*"/> предотвращает повторный запуск по дереву каталогов.

0 голосов
/ 12 апреля 2012

Вы можете сделать это с помощью subant

Пример:

<?xml version="1.0" encoding="UTF-8"?>
<project name="subant" default="subant1">

      <target name="subant1">

            <subant target="">

                 <dirset dir="." includes="*"/>
                 <target name="release" />

             </subant>

        </target>

</project>
0 голосов
/ 06 июня 2011

Я использую задачу foreach из ant-contrib для аналогичной работы. Это вызовет указанную цель для каждой записи в списке, каждый раз передавая запись в качестве параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...