我刚开始尝试使用使用PHP编写的Phing构建脚本。根据我所了解,Phing基于Apache Ant(使用Java编写)构建。两者都使用XML构建文件并具有类似的语法。因此,我想请有经验的人回答:如果我在Github或其他地方找到一个Ant构建文件,能否在Phing脚本中使用它而不更改其语法?就像可以与Ant或Phing一起使用的“插入式”XML文件一样?或者有什么区别?
有一些细微的差异。我建议使用ant构建文件,对于每个目标,在phing文档中查找目标名称,以确保它是相同的还是不同的。我不能立即想起来,但你不能只是把它放进去。还有一些phing特有的事情,你可以做与php相关的事情,比如phpdoc目标等。
我最近也遇到了同样的问题,我发现一些差异:
antcall
应该改为 phingcall
<if>
标签似乎只在 PHING 上工作(或者添加了 Ant-contribs library)<fixcrlf>
标签似乎只在 ANT 上工作也许还有其他的差异。
对我来说最好的解决方案是使用 adhocTask 重写缺失的任务。如果可能的话,可以基于现有的 PhingTask 进行重写。
例如,要使 <antcall>
工作,我只需像这样扩展 PhingCallTask
:
<adhoc-task name="antcall"><![CDATA[
class AntCall extends PhingCallTask {}
]]></adhoc-task>