我很想创建一个通用的phing脚本来构建一个joomla插件。
每个joomla插件都必须包含joomla系统用来安装插件的.xml文件。在这个xml文件中,我们需要定义我们的zip存档包含的文件和文件夹:
<files>
<folder>folder1</folder>
<filename plugin="nameofplugin">nameofplugin.php</filename>
<filename>index.html</filename>
</files>
现在,因为我很懒,而且我不想总是自己做这件事,我想让phing脚本为我做这件事。
我将所有插件文件移动到特定文件夹,如下所示:
-pluginFolder
- folder1中
- nameofplugin.php
- 的index.php
我知道我可以像这样使用foreach:
<foreach param="dirname" absparam="absname" target="subtask">
<fileset dir="${destination.dir}">
<type type="file" />
<depth max="0" min="0" />
</fileset>
</foreach>
<target name="subtask">
<echo msg="<file>: ${dirname}" />
</target>
现在在子任务中,我无法弄清楚如何将所有文件合并到单个变量中,以便我可以使用replacetokens作为示例?
有关于此的任何想法?我应该建立自己的phing课吗?或者是否有一种简单的方法可以实现这一目标,即开箱即用?
答案 0 :(得分:3)
好的,我设法实现了我想要的。我创建了一个新的phing任务并在那里进行了替换。
你可以在这个joomla插件的基础上看到它是如何工作的: https://github.com/compojoom/CUpdater
build.xml文件位于:
https://github.com/compojoom/CUpdater/blob/master/builds/plugin.xml
,任务就在这里:
https://github.com/compojoom/CUpdater/blob/master/builds/phingext/listjpackagefilestask.php