如何使用Ant找出当前平台

时间:2011-05-18 15:36:33

标签: ant

我正在使用Ant创建安装程序,我遇到了问题。我需要创建一个具有不同扩展名的文件,具体取决于平台(Unix或Windows),但我不知道如何从Ant获取当前平台。

任何人都可以帮助我吗?先感谢您, 约书亚。

1 个答案:

答案 0 :(得分:4)

这是你在build.xml尝试做的事吗? <condition>任务支持条件os,它可以帮助您确定安装脚本的平台:

<condition property="is.windows">
   <os family="windows"/>
</condition>

然后你可以将任务分成Unix和Windows:

<target name="deploy"
    depends="deploy.unix, deploy.windows">
    <yadda/>
    <yadda/>
    <yadda/>
</target>

<target name="deploy.unix"    
    unless="is.windows">
    <yadda/>
    <yadda/>
    <yadda/>
</target>


<target name="deploy.windows"
    if="is.windows">
    <yadda/>
    <yadda/>
    <yadda/>
</target>

deploy目标会同时调用deploy.unixdeploy.windows。但是,如果它是Windows系统,则会跳过deploy.unix目标,如果它不是Windows系统,则会跳过deploy.windows

而且,如果你正在使用<exec>任务,你还可以指定你是在运行Windows还是Unix:

 <exec executable="${unix.program}"
     osfamily="unix"/>

 <exec executable="${windows.program}"
     osfamily="windows"/>