Nel mio progetto corrente utilizziamo alcuni plug-in necessari per altri parametri dei plug-in, come proprietà-maven-plugin o buildnumber-plugin.Come associare un obiettivo del plug-in a un altro obiettivo del plug-in
<?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>
Il problema è che quando si esegue direttamente un obiettivo plug-in, gli obiettivi binded sulla fase di inizializzazione (o convalidare) non vengono eseguiti. Quindi, per generare lo schema di spionaggio dobbiamo digitare:
$> mvn org.codehaus.mojo:properties-maven-plugin:read-project-properties schemaspy:schemaspy
Vogliamo dire che le proprietà del plugin e numero build plug-in devono essere eseguite per ogni comando Maven modo che possiamo digitiamo:
$> mvn schemaspy:schemaspy
C'è un modo pulito per farlo (senza scripting)?
Non ci ho mai pensato. Mi piace. Grazie. – noirbizarre
Mi dispiace, ma questo non mi aiuta. Possiamo legare un obiettivo a un altro obiettivo? Ho bisogno di calcolare il nome del ramo usando un plugin nel contesto della ramificazione per una versione. Sarebbe strano chiedere agli sviluppatori di abilitare un profilo ed eseguire una fase del ciclo di vita per creare un ramo, quando normalmente eseguono semplicemente "release: branch" ... –