Comment appeler une autre cible fourmi avec des paramètres (-logger org.apache.tools.ant.listener.MailLogger) à partir d'un autre script fourmi ?
-
14-11-2019 - |
Question
J'ai un script fourmi principal, qui est utilisé pour lancer le script fourmi de plusieurs projets, dans un certain ordre.
Pour chaque sous-projet, je souhaite envoyer un e-mail m'informant si la construction a réussi ou non.
Je comprends que je peux utiliser le flag -logger avec org.apache.tools.ant.listener.MailLogger
pour envoyer un e-mail une fois la construction terminée.
Cependant, si je souhaite envoyer plusieurs scripts par e-mail, je ne sais pas comment transmettre cet indicateur. -logger org.apache.tools.ant.listener.MailLogger
dans l'appel de la fourmi.
Précisément, je voudrais passer le drapeau du logger dans cet appel de fourmi :
< ant antfile="build.xml" dir="subproject/build" target="build" />
J'ai essayé d'utiliser param
et args
, mais n'a pas réussi.
La solution
Bonne question.Personnellement, je n'ai pas pu le faire fonctionner avec le ant
cible.Il semble que les drapeaux ne soient pas pris en charge.
Cependant, ce hack fonctionne.
<exec executable="ant.bat">
<arg value="-logger"/>
<arg value="org.apache.tools.ant.listener.MailLogger"/>
<arg value="-f"/>
<arg value="other_build.xml"/>
</exec>
Deux problèmes immédiats avec cette approche :
- Pas indépendant de la plate-forme.
- La génération rapporte le succès lorsque la sous-construction échoue (même avec l'exécutif)
failonerror='true'
)