2011-02-02 10 views
5

Supongamos que tiene un proyecto que utiliza maven y un repositorio de subversión. Consiste en bastantes módulos. Hasta ahora, el desarrollo ocurrió en el tronco, pero ahora se introducirán ramas de características. Esto tiene que ser lo más sencillo posible teniendo en cuenta que todos los desarrolladores del equipo deberían comenzar a usar ramas de características.¿Hay alguna manera de usar maven para automatizar la reintegración de la rama de características?

Por lo tanto, para crear una rama, utilice el complemento de liberación que convenientemente crea una rama para usted, cambia los números de versión de todos los módulos de poms correctamente e incluso actualiza la sección <scm> en el pom principal.

Ahora, si desea reintegrar a la rama de la característica en el tronco, no hay ninguna funcionalidad correspondiente en el plugin de prensa - que tiene que hacer todo a mano:

  • fusionarse con reintegrate bandera
  • Cambio el número de versión en todos los poms
  • cambiar la sección <scm> manualmente
  • Commit

Esto no solo es engorroso sino también propenso a errores si se realiza a mano todo el tiempo (y esto puede ser frecuente cuando se utilizan ramas de características de manera extensiva). Sé que al menos el segundo punto podría automatizarse usando release:update-versions o version:set, pero tiene que haber más, ¿no? ¿Qué me estoy perdiendo?

+0

Para este tipo de tareas relacionadas con un sistema de compilación, la mayoría de las tiendas para las que he trabajado escriben scripts perl o python enrollados en el hogar. Luego, otras tareas de integración también se implementan, como crear o eliminar entradas DNS de prueba para la función, una copia separada de los archivos en el servidor de desarrollo, etc. – zanlok

+0

Hmm, esto todavía suena desafortunado, porque rompe el maven/subversion ecosistema. Casi parece que podría ser necesario implementar un plugin maven personalizado. – David

Respuesta

0

No hay una manera realmente buena de hacerlo con el complemento de lanzamiento Maven. Su mejor opción es hacer la fusión con solo subversión (fusionar la rama de características en el tronco) y luego liberarla nuevamente del tronco.

Cuestiones relacionadas