En mi proyecto actual, utilizamos algunos complementos necesarios para otros parámetros de complementos, como propiedades-maven-plugin o buildnumber-plugin.Cómo vincular un objetivo de complemento a otro objetivo de complemento
<?xml version="1.0"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>myartifact</artifactId>
<packaging>pom</packaging>
<version>v0</version>
<name>myProject</name>
<properties>
<env>dev</env>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<configuration>
<files>
<file>${basedir}/configurations/${env}.properties</file>
</files>
</configuration>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.wakaleo.schemaspy</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.0</version>
<configuration>
<databaseType>mysql</databaseType>
<database>${database.schema}</database>
<host>${database.host}</host>
<user>${database.user}</user>
<password>${database.pwd}</password>
</configuration>
</plugin>
</plugins>
</build>
</project>
El problema es que cuando se ejecuta directamente un objetivo plugin, objetivos encuadernados en la fase de inicialización (o validar) no se ejecutan. Así que para generar espía esquema tenemos que escribir:
$> mvn org.codehaus.mojo:properties-maven-plugin:read-project-properties schemaspy:schemaspy
Queremos decir que las propiedades plugin y necesitan ser ejecutados por cada comando experto BuildNumber plug-in para que podamos Tipo:
$> mvn schemaspy:schemaspy
¿Existe una forma limpia de hacer eso (sin secuencias de comandos)?
Nunca lo pensó. Me gusta. Gracias. – noirbizarre
Lo siento, pero esto no me ayuda. ¿Podemos vincular un objetivo a otro objetivo? Necesito calcular el nombre de la rama usando un complemento en el contexto de la bifurcación de una publicación. Sería extraño pedir a los desarrolladores que habiliten un perfil y ejecuten una fase de ciclo de vida para crear una rama, cuando normalmente simplemente ejecutarían 'release: branch' ... –