似乎ant唯一可靠提供的属性是"os.name"属性。然而,这个名字有不同的变体,如"Windows 8"Windows 7"等
但对于我的目的都是"Windows"-
是否有一种方法可以有条件地设置基于部分字符串匹配另一个属性值的属性,如下面的伪代码?特别是将os.name作为源值?使用通用ant安装提供的默认任务集?
if(a.property 'contains' "Windows")
another.property = "windows value"
else if(a.property contains 'Linux')
another.property = "linux value"
endif
您可以使用os family
<condition property="another.property" value="windows value" >
<os family="windows" />
</condition>
<condition property="another.property" value="linux value" >
<os family="unix" name="Linux"/>
</condition>