是否可以修改任务并为其添加先决条件?例如,我有一个build.xml
要导入的外部文件。它包括一个调试任务。我想将依赖项添加-prebuild-copy
到该任务。
我只会创建一个包装器任务,但我的项目包含的任何库都会调用调试目标,我需要确保为所有库-prebuild-copy
运行该目标。我可以复制和修改另一个构建文件,但它是 android 附带的,我不想在每次更新 SDK 时都尝试更新我的自定义版本。
是否可以修改任务并为其添加先决条件?例如,我有一个build.xml
要导入的外部文件。它包括一个调试任务。我想将依赖项添加-prebuild-copy
到该任务。
我只会创建一个包装器任务,但我的项目包含的任何库都会调用调试目标,我需要确保为所有库-prebuild-copy
运行该目标。我可以复制和修改另一个构建文件,但它是 android 附带的,我不想在每次更新 SDK 时都尝试更新我的自定义版本。
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
<project name="build-common">
<target name="debug">
<echo message="I AM A DEBUG TARGET"/>
</target>
</project>
<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>