【问题标题】:How do I make my custom targets run only when ant release is run?如何使我的自定义目标仅在运行 ant 版本时运行?
【发布时间】:2013-07-06 11:58:11
【问题描述】:

我有一个标准的 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-html 在运行 debug 构建时运行。实际上,它们必须仅在运行 release 目标时运行。

【问题讨论】:

    标签: android ant build-tools


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 2011-04-27
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      相关资源
      最近更新 更多