2011-05-18 20 views
3

我使用Ant創建了一個安裝程序,並且遇到了問題。我需要根據平臺(Unix或Windows)創建具有不同擴展名的文件,但我不知道如何從Ant獲取當前平臺。如何使用Ant找出當前平臺

任何人都可以幫助我嗎?預先感謝您,約書亞 。

回答

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"/>