Maven - fase de complemento personalizado para ejecutar plugin con otra configuración
Pregunta
Me tiene dos conjuntos de pruebas de integración en un proyecto Maven - pruebas automáticas y manuales. Las pruebas manuales son pocos pero tediosa - Requieren tirando de la clavija de servidores etc. Me gustaría crear un objetivo separado para las pruebas manuales, para que pueda ejecutar algo así como mvn manualtests
para ejecutar las pruebas manuales. Si usted acaba de ejecutar un experto en la acumulación normal de mvn install
más o menos, las pruebas automáticas se deben ejecutar.
Ya he anotado las pruebas manuales con la @Test(groups="manual"
TestNG anotación. Ahora el objetivo es tener dos configuraciones del segura plug-in, una ejecución de las pruebas automáticas que se une a la fase de prueba de la construcción, y uno que se ejecutan las pruebas de manuales, que se unían a otra fase a medida que me gustaría manualtests
llamada. Parece como si no es posible enlazar una ejecución de un plugin para una fase no existente (es decir uno que no está predefinido por experto). ¿No es posible definir sus propias fases?
Solución
Esto debería ser posible, aunque no fácil. Primer paso:. Vistazo a cómo se hace por defecto
utilizar esta dependencia:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.version}</version>
</dependency>
obtener el código fuente y echar un vistazo en el interior de components.xml META-INF / plexo. allí, se definen tanto en las fases predeterminados y los enlaces de ciclo de vida por defecto / fase.
crear un plugin que anula estas fases predeterminadas (en su propio components.xml) y lo definen como una extensión
Otros consejos
podría ser capaz de utilizar los perfiles para ello: http://maven.apache.org/guides/introduction/introduction- a-profiles.html