Php 子任务中的Phing override属性

Php 子任务中的Phing override属性,php,phing,Php,Phing,我试图将一个复杂的基于phing的流程拆分为几个较小的步骤,但是在后续任务中,我遇到了访问属性的问题。基本上,我试图实现的是在主构建文件中定义一些属性,如${repositoryUrl},或${clientName},并在后续目标中调整,甚至定义新属性(例如从存储库导出,然后删除一些文件,然后迁移数据库,然后卸载到服务器)。 我尝试了PhingTask、PhingImportTask和PhingCall,所有这些似乎都有自己的本地属性范围。因此,底线是:是否有可能(重新)在Phing中定义不同于

我试图将一个复杂的基于phing的流程拆分为几个较小的步骤,但是在后续任务中,我遇到了访问属性的问题。基本上,我试图实现的是在主构建文件中定义一些属性,如
${repositoryUrl}
,或
${clientName}
,并在后续目标中调整,甚至定义新属性(例如从存储库导出,然后删除一些文件,然后迁移数据库,然后卸载到服务器)。
我尝试了PhingTaskPhingImportTaskPhingCall,所有这些似乎都有自己的本地属性范围。因此,底线是:是否有可能(重新)在Phing中定义不同于第一个文件的属性,作为paramaeter(默认为build.xml)传递给Phing?

因此,我自己找到了答案,我认为值得分享: 为了在以下任务中继承属性,您必须将构建拆分为多个阶段,并拥有一个主文件(例如
build.xml
),其唯一目的是启动所有任务,如下所示:

    <target name="buildAll" description="runs build steps, preserves the environment" 
    depends = 
    "prepare, 
    filter, 
    config, 
    migrate, 
    backup, 
    deploy">

除了前面的答案,我还用Phing靶子做了一个测试,名为

设置在主默认目标中定义的属性, 在子目标中,不影响主目标中的属性或 在另一个子目标中

鉴于有可能改变主要目标公司的财产, 并在其他子目标中使用该属性

有了这种行为,很难直接实现目标:-(