Używam tylko apache-ant
i nieant-contrib
argumenty podaje do apache-ant zadania exec w oparciu o wartość zmiennej
Mam ant
cel
<target name="stop" depends="init" >
...
</target>
w którym chcę powołać exec
zadanie .
Jeżeli wartość zmiennej HOST_NAME
jest 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>
Jeżeli wartość zmiennej HOST_NAME
jest 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>
Ale chciałbym napisać tylko jedno zadanie, a nie powtarzaćexec
. Użyłem parametru HOST_NAME
, ale co zrobić z drugim parametrem -w 10
, który różni się w obu wywołaniach.
Próbowałem kilka sposobów, wyszukując na SO za pomocą condition
i if else
ale nic nie wydaje się być zastosowanie dla exec
lub arg
.
bardzo pomocny, spróbował tysięcy różnych odmian i to jest w końcu to, co zrobił sztuczka. –
To jest świetne i kompaktowe. Użyłem go do warunkowego generowania raportów zasięgu kodu na podstawie parametru budowania. –