您可以将ANT构建文件用作ping构建文件吗?


Can you use an ANT build file as a Phing build file?

我刚开始摆弄PHP构建脚本(用PHP构建)。据我所知,Phing是基于Apache Ant(用Java构建)的。

两者都使用XML构建文件并具有类似的语法,所以我问有经验的人,如果我在Github或其他地方找到一个Ant构建文件,它可以在一个Phing脚本中使用而不改变它的语法吗?就像一个可以与Ant或php一起工作的插入式XML文件?还是有区别?

有一些细微的差别。我建议使用ant构建文件,对于每个目标,在phing文档中查找目标名称,以确保它是否相同。我一时想不起来了,但你不能随便说出来。你也可以做一些php相关的事情,比如phpdoc目标,等等

我最近遇到了同样的问题,我发现了一些不同之处:

  • antcall = phingcall
  • <if>标签似乎只在PHING上工作(或添加了Ant-contribs库)
  • <fixcrlf>标签似乎只在ANT
  • 上工作

也许还有其他的。

<标题> 解决方案

对我来说最好的解决方案是使用adhocTask重写丢失的任务。如果可能的话,基于现有的PhingTask。

例如,为了使<antcall>工作,我简单地扩展PhingCallTask如下:

<adhoc-task name="antcall"><![CDATA[
  class AntCall extends PhingCallTask {}
]]></adhoc-task>