Alterar a configuração padrão do mojo no mapeamento do ciclo de vida
Eu estou escrevendo um plugin Maven 3 que constrói plugins para outro aplicativo. Um plugin é basicamente um arquivo JAR com alguns manifestos extravagantes. As classes compiladas precisam ser pós-processadas para o plug-in funcionar com a construção de produção do aplicativo host. Infelizmente, a versão processada do plug-in não funcionará com a compilação de depuração do host. Portanto, preciso produzir dois artefatos: as classes brutas com o classificadordebug
e a versão pós-processada como o principal artefato.
Eu tenho um plugin Maven que define um novo tipo de pacote com seus próprios mapeamentos de ciclo de vida. Para criar odebug
artefato, no entanto, preciso ligarjar:jar
com oclassifier
conjunto de propriedades. Não consegui encontrar uma maneira de alterar a configuração de uma execução do Mojo a partir de um mapeamento do ciclo de vida. É mesmo possível? Terei que fazer todos usarem um super POM fornecido com o meu plugin?
Para referência, aqui está a parte relevante do meucomponents.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<component-set>
<components>
<!-- snip other components, including ArtifactHandler -->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>my-packaging</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<phases>
<!-- snip other phases -->
<package>
org.apache.maven.plugins:maven-jar-plugin:jar
</package>
</phases>
</lifecycle>
</lifecycles>
</configuration>
</component>
</components>
</component-set>
Eu preciso da execução para ser equivalente a este fragmento POM:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>debug-jar</id>
<phase>package</phase>
<goal>jar</goal>
<configuration>
<classifier>debug</classifier>
</configuration>
</execution>
</executions>
</plugin>
eu encontreiuma pergunta SO que parece ser a mesma coisa que estou procurando, mas não tem respostas.Esta é a documentação que usei para criar o mapeamento do ciclo de vida em primeiro lugar. O Google Pesado não revelou nada que pareça relacionado, mas estou tendo problemas para encontrar termos de pesquisa suficientemente específicos.