Como você chama outro alvo ant com parâmetros (-logger org.apache.tools.ant.listener.MailLogger) de outro script ant?

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

Pergunta

Eu tenho um script ant principal, que é usado para iniciar o script ant de vários projetos, em uma determinada sequência.

Para cada subprojeto, gostaria de enviar um e-mail avisando se a construção foi bem-sucedida ou não.

Entendo que posso usar o sinalizador -logger com org.apache.tools.ant.listener.MailLogger para enviar um e-mail após a conclusão da construção.

No entanto, se eu tiver vários scripts para os quais desejo enviar um email, não sei como passar esse sinalizador -logger org.apache.tools.ant.listener.MailLogger no chamado da formiga.

Precisamente, eu gostaria de passar o sinalizador do logger para esta chamada ant:

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

Eu tentei usar param e args, mas não teve sucesso.

Foi útil?

Solução

Boa pergunta.Pessoalmente, não consegui fazer funcionar com o ant alvo.Parece que os sinalizadores não são suportados.

No entanto, esse hack 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>

Dois problemas imediatos com esta abordagem:

  1. Não é independente de plataforma.
  2. A compilação relata sucesso quando a subconstrução falha (mesmo com o executivo failonerror='true')
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top