как перебрать (перебрать) каталоги в phing? - PullRequest
4 голосов
/ 15 декабря 2010

Я хочу создать phing-задачу для некоторых плагинов, чтобы структура каталогов была похожа на

root
  - plugin1
    - index.php
  - plugin2
    - index.php

и т.д ..

Я хочу запускать одинаковые задачи в каждом подкаталоге - например,

  1. создать документацию для плагина1
  2. запустить юнит-тесты для плагина1
  3. развернуть плагин1 где-нибудь
  4. создать документ для plugnin2 ...

Возможно ли это? Мне нужно что-то вроде

<foreach param="filename" absparam="absfilename" target="subtask">
  <fileset dir=".">
    <include name="*.php"/>
  </fileset>
</foreach>

но для каталогов.

Или мне нужно написать build.xml для каждого отдельного плагина?

Большое спасибо.

1 Ответ

13 голосов
/ 16 декабря 2010

Наконец-то я обнаружил селекторы, которые могут решить мой запрос:

<foreach param="dirname" absparam="absname" target="subtask">
  <fileset dir="${ws}/source/">
        <type type="dir" />
        <depth max="0" min="0" />
  </fileset>
</foreach>

и вызвать какую-то задачу для выполнения вещи

<target name="subtask">
    <echo msg="${dirname} ${absname}" />
</target>
...