Pergunta

Eu construí um Maven2 plug-in personalizado usando Ant. Gostaria de chamar plug-in outro maven, em particular, o plug-in de carga Maven2 imediatamente após o plug-in personalizado Ant concluir com êxito. No entanto, eu não deseja anexar o plug-in de carga para outro objetivo ou fase. Existe uma maneira de tê-los executado consecutivamente sem ter que escrever um script em lotes? Existe longe de ter o plug-in chamada personalizada Ant para o plug-in de carga?

Foi útil?

Solução

Veja essa discussão: Re:?. chamando o plugin no outro plugin acordo com os desenvolvedores do Maven, este não é o caminho plugins devem funcionar

No entanto, não é este comentário interessante:

Plugins / Mojos deve ser invólucros finas em torno de uma biblioteca. Você gostaria de usar a biblioteca diretamente.

Carga não só é um plugin Maven, ele também tem uma API Java e uma tarefa Ant . Então você poderia provavelmente:

  • chamar a tarefa de carga Ant do seu Ant mojo (eu acho que você só vai precisar do JARs de carga na classpath do seu plugin);

  • reescrever seu mojo Ant em Java, e invocar a API de Carga (você iria querer olhar para as fontes do plugin de carga).

Outras dicas

O script Ant que as executa plugin Maven-ant-não é realmente conscientes do Maven como tal; este plugin é projetado para compatibilidade com tarefas Ant personalizado. Eu não posso pensar de uma forma limpa de fazer o que quer que possa haver algum tipo de truque que lhe permite fazê-lo.

Também deve ser possível executar uma segunda instância do Maven de dentro Ant, que funciona puramente o objetivo de carga, mas, nesse caso, você pode encontrar problemas com arquivos bloqueados e afins. A maneira de fazer isso seria apenas para usar um tag em seu script Ant e chamar o "mvn" executável com as metas adequadas como argumentos.

A maneira mais limpa é simplesmente ligam o objetivo de carga a uma fase da construção, e ter que correr atrás Ant está terminado. Eu não vejo nenhuma desvantagem para essa abordagem -. Você realmente não declarou quaisquer razões específicas pelas quais você quer evitá-lo

Você pode estar interessado nos dois seguintes Maven

O plugin GMaven permite escrever plugins Maven usando Groovy. Isto dá-lhe pleno acesso a formiga usando o Ant Builder , é muito maneira fácil de escrever scripts ant em Groovy. Então, neste Groovy mojo você poderia chamar qualquer maven mojo usando o Mojo Executor.

Eu usei aqueles em vários costume maven plugin e eu não encontrei uma maneira mais fácil de escrever e combinar Mojos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top