ich nur apache-ant
und nichtant-contrib
Pass Argumente für Apache-Ant-Task exec basierend auf den Wert der Variablen
Ich habe ein ant
Ziel
<target name="stop" depends="init" >
...
</target>
, in dem ich exec
Aufgabe aufrufen möchten bin mit .
Wenn der Wert einer Variablen HOST_NAME
ist 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>
Wenn der Wert einer Variablen HOST_NAME
ist 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>
Aber ich würde nur eine Aufgabe schreiben und nicht zu wiederholenexec
. Ich habe HOST_NAME
Parameter verwendet, aber was ist mit dem zweiten Parameter -w 10
zu tun, der in beiden Aufrufen unterschiedlich ist.
Ich habe versucht, ein paar Möglichkeiten, mit SO Suche auf durch condition
und if else
aber nichts mit scheint für exec
oder arg
anwendbar.
Sehr hilfreich, tausend verschiedene Varianten ausprobiert und das ist schließlich, was tat der Trick. –
Das ist großartig und kompakt. Ich habe es verwendet, um Code-Coverage-Berichte basierend auf einem Build-Parameter bedingt zu erstellen. –