tengo los siguientes proyectos organizados de una manera estructurada plana:Maven proyecto de varios módulos y Jenkins
parentProject
+-pom.xml
projectWeb <depends on libraryA and libraryB>
+-pom.xml
libraryA
+-pom.xml
libraryB
+-pom.xml
El pom.xml dentro del parentProject tiene referencias a los otros módulos y su herencia y se utiliza para DependencyManagement, aquí es un fragmento:
<project>
....
<modules>
<module>../projectWeb</module>
<module>../libraryA</module>
<module>../libraryB</module>
</modules>
<dependencyManagement>
...
</dependencyManagement>
<build>
...
</build>
....
</project>
En Jenkins tengo un trabajo experto para cada proyecto, y funciona bien cuando construyo el parentProject, es decir. construye todos los proyectos a los que se hace referencia en la sección modules
. El problema que tengo es cuando me comprometo con el SVN un cambio en libraryA
, esperaría que después de compilar libraryA, se iniciara una reconstrucción a projectWeb
, pero eso no sucedió. ¿Alguien sabe qué estoy haciendo mal?
Gracias de antemano.
EDITAR
Cuando quito la sección de modules
parentProject\pom.xml
, funciona como pensábamos, pero perder la ventaja de la agregación de tener un pom padres.
Gracias por la respuesta, pero cuando escribí la pregunta editada, si eliminé los módulos del pom padre, las compilaciones se desencadenan como se esperaba, es decir, si construyo 'libraryA',' proyectWeb' se construye automáticamente, sin la configuración Mencionaste. – sivainvi