【问题标题】:Creating a Joomla Test and Deploy Build Script创建 Joomla 测试和部署构建脚本
【发布时间】:2012-12-01 02:54:12
【问题描述】:

我正在开发一个 Joomla 组件。我的 IDE 是 Eclipse。实际上我希望它在 JED(Joomla 扩展目录)上发布。

为了自动完成部署,我找到了一个不错的 Phing-脚本,它能够创建 zip 和 tar 文件。为此,我使用 Phing 的 fileset 功能来定义所有必需的文件。

<fileset dir="${src}" id="adminfiles">
    <include name="admin/admin.compname.php" />
    <include name="admin/controller.php" />
    <include name="admin/gpl-3.0.txt" />
</fileset>

现在我想使用此文件列表将所有文件也复制到我的测试环境中。因此,我必须从列表中的每个文件名中删除文件夹名称 admin/。 是否有任何 Phing-Task 可以为我做到这一点。或任何正则表达式(uhahah)。

最好的问候 tria1312

【问题讨论】:

  • 你到底想做什么,你能举个例子吗?

标签: php deployment joomla phing


【解决方案1】:

我认为这与文件夹名称的“条带化”无关。你只是想复制一堆文件,对吧?

这会将所有带有 php 扩展名的文件从 admin 文件夹复制到您选择的文件夹:

<copy todir="${testPath}/test" overwrite="true">
    <fileset dir="admin">
        <include name="*.php" />
    </fileset>
</copy>

有关更多选项,请参阅fileset type

【讨论】:

  • 好的,但我想使用带有文件夹和子文件夹的文件集。 &lt;fileset dir="${src}" id="sitefiles"&gt; &lt;include name="site/interface.php" /&gt; &lt;/fileset&gt; &lt;copy todir="${test}/components/com_joomlacomp"&gt; &lt;fileset refid="sitefiles" /&gt; &lt;/copy&gt; 结果应该是这样的:mypath/interface.php。但它是:mypath/site/interface。所以,我认为复制任务中一定有某种预处理。