根據條件設定某個變數

這是一個很常見的需求: 根據某些條件,去決定某個變數應該怎樣。

我的例子是根據${drbl.client.mbname}的值去決定${remote_url}的值;如果都不符合,就給一個預設值。

	<target name="setRemoteURL" depends="checkMotherboard">
		<condition property="remote_url" value="REMOTE_URL:http://10.134.14.51:5555/wd/hub">
			<equals arg1="${drbl.client.mbname}" arg2="x10drff-c" casesensitive="false" />
		</condition>
		<condition property="remote_url" value="REMOTE_URL:http://10.134.14.52:5555/wd/hub">
			<equals arg1="${drbl.client.mbname}" arg2="x8dtu-ln4+" casesensitive="false" />
		</condition>
		<condition property="remote_url" value="REMOTE_URL:http://10.134.14.53:5555/wd/hub">
			<equals arg1="${drbl.client.mbname}" arg2="x8sia-f" casesensitive="false" />
		</condition>
		<condition property="remote_url" value="REMOTE_URL:http://10.134.14.54:5555/wd/hub">
			<equals arg1="${drbl.client.mbname}" arg2="x10drt-libf" casesensitive="false" />
		</condition>
		<condition property="remote_url" value="REMOTE_URL:http://10.134.14.55:5555/wd/hub">
			<equals arg1="${drbl.client.mbname}" arg2="h8dgu-f" casesensitive="false" />
		</condition>
		<condition property="remote_url" value="REMOTE_URL:http://10.134.15.215:4444/wd/hub">
			<not><isset property="remote_url"/></not>
		</condition>
		<echo>remote_url: ${remote_url}</echo>
	</target>