如何在phing中迭代(循环)目录?

时间:2010-12-15 14:54:04

标签: phing

我想为某些插件创建phing任务,因此目录结构类似于

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

等。

我想在每个子目录上运行相同的任务 - 例如

  1. 为plugin1生成doc
  2. 运行plugin1的单元测试
  3. 在某处部署plugin1
  4. 为plugnin2生成doc ...
  5. 这可能吗?我需要像

    这样的东西
    <foreach param="filename" absparam="absfilename" target="subtask">
      <fileset dir=".">
        <include name="*.php"/>
      </fileset>
    </foreach>
    

    但是对于目录。

    或者我是否必须为每个插件独立编写build.xml?

    非常感谢。

1 个答案:

答案 0 :(得分:13)

最后我发现了可以解决我的请求的选择器:

<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>