Maven - fase personalizzato aggiuntivo per eseguire plugin con altra configurazione
Domanda
Ho due serie di test di integrazione in un unico progetto di Maven - test automatici e manuali. I test manuali sono pochi ma noioso - hanno bisogno di staccare la spina di server ecc vorrei creare un obiettivo separato per i test manuali, così posso eseguire qualcosa di simile mvn manualtests
per eseguire i test manuali. Se basta eseguire un normale mvn install
esperto di accumulo o giù di lì, dovrebbero essere eseguiti i test automatici.
Ho già annotato i test manuali con il @Test(groups="manual"
TestNG annotazione. L'obiettivo è ora di avere due configurazioni del infallibile plug-in, uno in esecuzione i test automatici, che è legato alla fase di test del costruire, e uno in esecuzione i test manuali, che è legato a un'altra fase personalizzata che vorrei chiamata manualtests
. Sembra come se non è possibile associare un'esecuzione di un plugin per una fase inesistente (cioè uno che non è predefinito da Maven). Non è possibile definire le proprie fasi?
Soluzione
Questo dovrebbe essere possibile, anche se non facile. Primo passo:. Un'occhiata a come si fa di default
utilizzare questa dipendenza:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.version}</version>
</dependency>
scaricare i sorgenti e avere uno sguardo alla components.xml all'interno META-INF / plesso. lì, sono definite entrambe le fasi di default e le associazioni predefinite ciclo di vita / fase.
creare un plugin che le sostituzioni queste fasi di default (in un suo components.xml) e lo definiscono come un prolungamento
Altri suggerimenti
Si potrebbe essere in grado di utilizzare i profili per questo: http://maven.apache.org/guides/introduction/introduction- to-profiles.html