Hei*_*nen 5 ant osx-snow-leopard
我有一个跨平台的应用程序,我们使用ant在不同的平台上构建不同的东西.现在出现了一个新的要求,如果在Snow Leopard或者后来的Leopard上进行构建,我需要采取不同的做法.
我查看了http://www.devdaily.com/blog/post/java/how-determine-operating-system-os-ant-build-script,其中介绍了如何区分Windows和Macintosh等,以及http ://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/api/org/apache/tools/ant/taskdefs/condition/Os.html显示了os的其他属性,例如${os.version}.
我还没想到的是如何比较它的os.version价值,如果它是10.6或更高的雪豹的东西.如果我可以snow_leopard在Snow Leopard上将变量设置为1,我想我可以将其余部分计算出来.
您可以使用此condition任务.可用的条件,值得注意的os是这里.
它的工作方式与'os family'相同:
<condition property="isSnowLeopard">
<os family="mac" version="10.6.6" />
</condition>
Run Code Online (Sandbox Code Playgroud)
但这意味着您必须输入增量版本号 - 版本字符串必须完全匹配.
对于'模糊'替代方案,你可以使用matches条件,也许这样
<condition property="isSnowLeopard">
<matches string="${os.version}" pattern="^10.6." />
</condition>
Run Code Online (Sandbox Code Playgroud)
当OSX Lion出现时,您可能希望像这样扩展模式:
<condition property="isSnowLeopardOrGreater">
<matches string="${os.version}" pattern="^10.[67]." />
</condition>
Run Code Online (Sandbox Code Playgroud)
或者单独检查10.7.
| 归档时间: |
|
| 查看次数: |
797 次 |
| 最近记录: |