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



我有一个标准的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>

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

好的,我终于找到了解决方案。

我的两个自定义目标都将在-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。我在我的自定义目标上使用它,以确保它们只在设置了它时运行。

相关内容

  • 没有找到相关文章

最新更新