如何在运行ant发布时使我的自定义目标运行?

时间:2013-07-06 11:58:11

标签: android ant build-tools

我有一个标准的android生成的构建脚本。我的custom_rules.xml构建脚本。

<project>

    <target name="-minify" >
        // More code here
    </target>
    <target name="-modify-index-html" >
        // More code here
    </target>

    <target name="-post-compile" depends="-minify"/>

    <target name="-post-package" depends="-modify-index-html"/>

</project>

问题是我不希望在运行-minify构建时运行目标-modify-index-htmldebug。实际上,它们必须仅在运行release目标时运行。

1 个答案:

答案 0 :(得分:0)

好的,我终于找到了解决办法。

我的自定义目标将在-set-release-mode运行后执行(如果发布)。所以,在这里: -

<target name="-minify" if="isReleaseTarget">
    ...
</target>

<target name="-modify-index-html" if="isReleaseTarget">
    ...
</target>

<target name="-set-release-mode" depends="android_rules.-set-release-mode">
    <property name="isReleaseTarget" value="true"/>
</target>

请注意,我覆盖了android提供的-set-release-mode目标并使其依赖于实际目标。但是,它会设置属性isReleaseTarget。我在我的自定义目标上使用它,以确保它们仅在设置时运行。