有没有办法将参数传递到ant任务命令中?
我使用Ant构建我的Android应用程序。我希望能够做到这一点:有没有办法将参数传递到ant任务命令中?,ant,parameters,Ant,Parameters,我使用Ant构建我的Android应用程序。我希望能够做到这一点: ant debug android-market; //build the debug version for android-market; ant debug motorola-market; //Builds debug version for motorola-market; ant release android-market; //etc. 有没有办法从我的定制ant调试/发布任务中检测“android marke
ant debug android-market; //build the debug version for android-market;
ant debug motorola-market; //Builds debug version for motorola-market;
ant release android-market; //etc.
有没有办法从我的定制ant调试/发布任务中检测“android market”参数
我不希望使用
Dparam=value
,因为这样看起来不太干净。此语法用于一次调用多个目标。所以你可以用
ant android-market debug
并使android market目标设置调试目标中使用的属性,以确定要构建的版本:
<project basedir="." default="debug">
<target name="android-market">
<property name="market" value="android"/>
</target>
<target name="debug">
<echo message="debugging for the following market : ${market}"/>
</target>
</project>
> ant android-market debug
> android-market:
> debug:
> [echo] debugging for the following market : android
>Antandroid市场调试
>安卓市场:
>调试:
>[echo]针对以下市场的调试:android
我不希望使用-Dparam=value,因为这样看起来不太干净
我认为你应该忘掉你的偏好。但是添加一个“帮助”目标,它描述了其他目标所接受的参数。JB的答案完全有效,但我想找到一种获得默认值的方法。我在这里找到了一个叫迈克·席林的人的答案: 所以我最终得到了这样的结果:
<project basedir="." default="debug">
<target name="set-defaults">
<property name="market" value="android"/>
</target>
<target name="motorola-market">
<property name="market" value="motorola/>
</target>
<target name="debug" depends="set-defaults">
<echo message="debugging for the following market : ${market}"/>
</target>
</project>
是的,它有效。我刚刚用我编辑过的答案中的构建文件对它进行了测试,它看起来确实非常酷我要重新考虑我的项目设置,让这一切顺利进行。这样你就可以很容易地混合搭配。