修改现有任务以添加新依赖项

时间:2012-07-16 19:58:57

标签: ant

是否可以修改任务并为其添加先决条件?例如,我有一个我正在导入的外部build.xml。它包括一个调试任务。我想将依赖项-prebuild-copy添加到该任务中。

我只是创建一个包装器任务,但调试目标会被我的项目包含的任何库调用,我需要确保为所有这些库运行-prebuild-copy。我可以复制和修改其他构建文件,但它是随机附带的那个,我不想每次更新SDK时都尝试更新我的自定义版本。

1 个答案:

答案 0 :(得分:1)

ANT有两个导入公共构建逻辑的任务:

以下示例使用更现代的include

实施例

|-- build-common.xml
`-- build.xml

项目运行如下

$ ant debug
Buildfile: /home/mark/tmp/build.xml

-prebuild-copy:
     [echo] PREBUILD TARGET

common.debug:
     [echo] I AM A DEBUG TARGET

debug:
     [echo] MY DEBUG TASK

建立-common.xml

<project name="build-common">

    <target name="debug">
        <echo message="I AM A DEBUG TARGET"/>
    </target>

</project>

的build.xml

<project name="demo" default="debug">

    <include file="build-common.xml" as="common"/>

    <target name="-prebuild-copy">
        <echo message="PREBUILD TARGET"/>
    </target>

    <target name="debug" depends="-prebuild-copy, common.debug">
        <echo message="MY DEBUG TASK"/>
    </target>

</project>