Ant 如何在雪豹身上有条件地构建蚂蚁目标
我有一个跨平台的应用程序,我们使用ant在不同的平台上构建不同的东西。现在,一个新的需求出现了,我需要做不同的事情,如果建立在雪豹或以后与豹 我已经研究了如何区分Windows和Macintosh等,以及如何显示操作系统的附加属性,如Ant 如何在雪豹身上有条件地构建蚂蚁目标,ant,osx-snow-leopard,Ant,Osx Snow Leopard,我有一个跨平台的应用程序,我们使用ant在不同的平台上构建不同的东西。现在,一个新的需求出现了,我需要做不同的事情,如果建立在雪豹或以后与豹 我已经研究了如何区分Windows和Macintosh等,以及如何显示操作系统的附加属性,如${os.version} 我还没有弄清楚的是如何比较os.version的值,如果它是10.6或更高,那么就做雪豹的事情。如果我可以在使用雪豹时将变量snow\u leopard设置为1,我想我可以计算出它的其余部分。使用提供的任务,您可以通过对操作系统版本进行相
${os.version}
我还没有弄清楚的是如何比较os.version
的值,如果它是10.6或更高,那么就做雪豹的事情。如果我可以在使用雪豹时将变量snow\u leopard
设置为1,我想我可以计算出它的其余部分。使用提供的任务,您可以通过对操作系统版本进行相等检查,在一定程度上实现这一点
...
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="/location/of/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
<target name="oscheck">
<property name="osver" value="${os.version}"/>
<if>
<equals arg1="${os.version}" arg2="6.1"/>
<then>
<echo message="Windows 7"/>
...
</then>
</if>
</target>
...
。。。
...
...
您可以使用。可用条件(以操作系统为例)如下所示
它的工作方式与“os系列”相同:
<condition property="isSnowLeopard">
<os family="mac" version="10.6.6" />
</condition>
当OSX Lion出现时,您可能希望像这样扩展模式:
<condition property="isSnowLeopardOrGreater">
<matches string="${os.version}" pattern="^10.[67]." />
</condition>
或者为10.7引入单独的检查。这很好。我希望能够检查是否大于,但模式匹配在实践中应该可以。谢谢,我更喜欢martin的解决方案,但我会记住这一点。
<condition property="isSnowLeopardOrGreater">
<matches string="${os.version}" pattern="^10.[67]." />
</condition>