Maven Release Plugin con Svn: Externos y un proyecto de múltiples módulos
Dado el siguiente proyecto multimódulo de muestra:
aggr / pom.xml (Versión 1.0-SNAPSHOT)aggr / parent / pom.xml (Versión 2.0-SNAPSHOT)aggr / app / pom.xml (Versión 3.0-SNAPSHOT)aggr / comp1 / pom.xml (Versión 4.0-SNAPSHOT)donde padre es el padre de cualquier otro pom y la aplicación tiene una dependencia de comp1.
Liberación vía liberación: preparar / realizarsolo funciona bien siempre que la carpeta aggr tenga la misma estructura en el repositorio svn (repository / trunk / aggr / parent.pom, ...).
Ahora cuando quiero usar el mismo proyecto pero con svn: externals, el complemento de versión no funciona indicando que comp1:
Can't release project due to non released dependencies : parent:pom:2.0-SNAPSHOT
La estructura del repositorio es entonces algo como
repositorio / aggr / trunk / pom.xmlrepositorio / padre / tronco / pom.xmlrepositorio / app / trunk / pom.xmlrepositorio / comp1 / trunk / pom.xmlla carpeta aggr utiliza elementos externos que apuntan a los módulos troncales y, por lo tanto, la copia de trabajo desprotegida se parece a la anterior.
¿Por qué Maven maneja los módulos basados en lo externo de manera diferente y hay una manera de superar esto?
Edición: Los archivos pom del proyecto svn: externals. La única diferencia con los archivos pom del otro proyecto son las etiquetas scm. En el otro proyecto no externo, solo el agregador tiene la etiqueta scm.
Padre-pom.xml externo
<groupId>small.test</groupId>
<artifactId>parent</artifactId>
<version>2.0-SNAPSHOT</version>
<scm>
<connection>scm:svn:http://localhost/svn/small-test-ext/parent/trunk/</connection>
<developerConnection>scm:svn:http://localhost/svn/small-test-ext/parent/trunk/</developerConnection>
<url>http://localhost/svn/small-test-ext/parent/trunk/</url>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.1</version>
</plugin>
</plugins>
Aggr-pom.xml externo small.test parent 2.0-SNAPSHOT
<groupId>small.test</groupId>
<artifactId>aggr</artifactId>
<version>1.0-SNAPSHOT</version>
<scm>
<connection>scm:svn:http://localhost/svn/small-test-ext/aggr/trunk/</connection>
<developerConnection>scm:svn:http://localhost/svn/small-test-ext/aggr/trunk/</developerConnection>
<url>http://localhost/svn/small-test-ext/aggr/trunk/</url>
</scm>
<modules>
<module>parent</module>
<module>comp1</module>
<module>comp2</module>
<module>app</module>
</modules>
Aplicación externa-pom.xml
<parent>
<groupId>small.test</groupId>
<artifactId>parent</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<groupId>small.test</groupId>
<version>3.0-SNAPSHOT</version>
<artifactId>app</artifactId>
<packaging>jar</packaging>
<scm>
<connection>scm:svn:http://localhost/svn/small-test-ext/app/trunk/</connection>
<developerConnection>scm:svn:http://localhost/svn/small-test-ext/app/trunk/</developerConnection>
<url>http://localhost/svn/small-test-ext/app/trunk/</url>
</scm>
<dependencies>
<dependency>
<groupId>small.test</groupId>
<artifactId>comp1</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
Gracias Konrad