¿Cómo se llama a otro objetivo ant con parámetros (-logger org.apache.tools.ant.listener.MailLogger) desde otro script ant?

StackOverflow https://stackoverflow.com/questions/9510024

Pregunta

Tengo un script ant principal, que se utiliza para iniciar el script ant de varios proyectos, en una secuencia determinada.

Para cada subproyecto, me gustaría enviar un correo electrónico notificándome si la compilación se realizó correctamente o no.

Entiendo que puedo usar el flag -logger con org.apache.tools.ant.listener.MailLogger para enviar un correo electrónico una vez finalizada la construcción.

Sin embargo, si tengo varios scripts a los que quiero enviar un correo electrónico, no estoy seguro de cómo pasar esa marca. -logger org.apache.tools.ant.listener.MailLogger en la llamada de la hormiga.

Precisamente, me gustaría pasar la bandera del registrador a esta llamada de hormiga:

< ant antfile="build.xml" dir="subproyecto/build" target="build" />

Intenté usar param y args, pero no tuvo éxito.

¿Fue útil?

Solución

Buena pregunta.Personalmente no pude hacerlo funcionar con el ant objetivo.Parece que las banderas no son compatibles.

Sin embargo, este truco funciona.

<exec executable="ant.bat">
    <arg value="-logger"/>
    <arg value="org.apache.tools.ant.listener.MailLogger"/>
    <arg value="-f"/>
    <arg value="other_build.xml"/>
</exec>

Dos problemas inmediatos con este enfoque:

  1. No es independiente de la plataforma.
  2. La compilación informa el éxito cuando falla la subcompilación (incluso con el ejecutivo) failonerror='true')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top