ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Reilly <peter.rei...@corvil.com>
Subject Re: os.name for windows return "Windows XP"?
Date Mon, 26 Jan 2004 18:03:06 GMT
In a previous project we simply used:
   <property file="${os.name}.properties"/>

The space in the name is not a problem.
The os's used were: "Windows 2000", "Windows XP",
"Windows NT", "Linux", "HP-UX" and "SunOS".
The windows properties were mostly copies of each other,
but there were on or two differences.

If you just want a property file for windows like oses and one
for the rest you could do.
<condition property="iswindows">
    <os family="windows"/>
</condition>

<target name="init" depends = "windows.init, other.init"/>
<target name="windows.init" if="iswindows">
   <property file="windows.properties"/>
</target>
<target name="others.init" unless="iswindows">
   <property file="notwindows.properties"/>
</target>

or:
<condition property="properties.filename" value="windows.properties">
    <os family="windows"/>
</condition>
<property name="properties.filename" value="notwindows.properties">
 
<property file="${properties.filename}"/>

Using ant-contribs <if/> would make a target/property free
control structure:
<if>
   <os family="windows"/>
    <then>
      <property file="windows.properties"/>
    </then>
    <else>
       <property file="notwindows.properties"/>
    </else>
</if>

Peter

barry@goodconsultants.com wrote:

>All,
>
>How can I improve the following code in ant?
>
>Thanks
>
>B.
>
>  <target name="all" depends="dist" /> 
>- <target name="set">
>- <condition property="isLinux">
>  <os name="Linux" /> 
>  </condition>
>- <!--  needs code for testing other windows platforms. 
>  --> 
>- <condition property="isWindows">
>  <os name="Windows XP" /> 
>  </condition>
>  </target>
>- <target name="checkwindows" depends="set" if="isWindows">
>  <echo message="test1: ${isWindows} it is windows" /> 
>  <loadproperties srcfile="Windows.properties" /> 
>  </target>
>- <target name="checklinux" depends="set" if="isLinux">
>  <echo message="test2: ${isLinux} it is linux" /> 
>  <loadproperties srcfile="Linux.properties" /> 
>  </target>
>  <target name="os_check" depends="checklinux, checkwindows" /> 
>- <target name="clean" depends="os_check">
>
>
>
>
>----- Original Message ----- 
>From: "Conor MacNeill" <conor@cortexebusiness.com.au>
>To: "Ant Users List" <user@ant.apache.org>
>Sent: Thursday, January 15, 2004 6:31 PM
>Subject: Re: os.name for windows return "Windows XP"?
>
>
>  
>
>>On Fri, 16 Jan 2004 12:24 pm, barry@goodconsultants.com wrote:
>>    
>>
>>>Hi,
>>>
>>>There must be someone who is dealing with the same issue. I am trying to
>>>take multiplatform builds with different ${os.name}.properties file. Linux
>>>is not a problem, Linux.properties. What about Windows? It becomes Windows
>>>XP.properties files.
>>>
>>>Can someone enlight me the better way to do this with one word .properties
>>>name?
>>>
>>>      
>>>
>>I've used this approach in the past
>>
>>  <target name="set-conditions">
>>    <condition property="linux">
>>      <os name="linux"/>
>>    </condition>
>>
>>    <condition property="solaris">
>>      <os name="SunOS"/>
>>    </condition>
>>
>>    <condition property="windows">
>>      <os family="windows"/>
>>    </condition>
>>  </target>
>>
>>You could probably use a single property name and different value attributes 
>>and load the properties that way. Depends if you want to use if attributes 
>>later on.
>>
>>Conor
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>For additional commands, e-mail: user-help@ant.apache.org
>>
>>
>>    
>>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>For additional commands, e-mail: user-help@ant.apache.org
>
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message