Я использую apache-ant и не ant-contrib
У меня есть ant target
<target name="stop" depends="init" >
...
</target>
В котором я хочу вызвать задачу exec.
Если значение переменной HOST_NAME равно all
<exec executable="${executeSSH.shell}" >
<arg value="-h ${HOST_NAME}" />
<arg value="-i ${INSTANCE}" />
<arg value="-w 10" />
<arg value="-e ${myOperation.shell} " />
<arg value=" -- " />
<arg value="${INSTANCE} ${USERNAME} ${PASSWORD}" />
</exec>
Если значение переменной HOST_NAME равно anything else
<exec executable="${executeSSH.shell}">
<arg value="-h ${HOST_NAME}" />
<arg value="-i ${INSTANCE}" />
<arg value="-e ${myOperation.shell} " />
<arg value=" -- " />
<arg value="${INSTANCE} ${USERNAME} ${PASSWORD}" />
</exec>
Но я хотел бы написать только одну задачу и не повторять exec. Я использовал параметр HOST_NAME, но что делать со вторым параметром -w 10, который отличается в обоих вызовах.
Я попробовал несколько способов, выполнив поиск по SO с помощью condition и if else, но ничего не применимо для exec или arg.