Maven Release Plugin com Svn: Externals e um projeto multi-módulo
Dado o seguinte projeto de vários módulos de amostra:
aggr / pom.xml (versão 1.0-SNAPSHOT)aggr / parent / pom.xml (versão 2.0-SNAPSHOT)aggr / app / pom.xml (versão 3.0-SNAPSHOT)aggr / comp1 / pom.xml (versão 4.0-SNAPSHOT)onde pai é o pai de qualquer outro pom e o aplicativo tem uma dependência de comp1.
Lançamento via lançamento: preparar / executarapenas funciona bem contanto que a pasta aggr tenha a mesma estrutura dentro do repositório svn (repository / trunk / aggr / parent.pom, ...).
Agora, quando eu quero usar o mesmo projeto, mas com o svn: externals, o plugin da versão não funciona afirmando que comp1:
Can't release project due to non released dependencies : parent:pom:2.0-SNAPSHOT
A estrutura do repositório é então algo como
repository / aggr / trunk / pom.xmlrepositório / parent / trunk / pom.xmlrepositório / app / trunk / pom.xmlrepositório / comp1 / trunk / pom.xmla pasta aggr usa elementos externos apontando para os troncos de módulos e, portanto, a cópia de trabalho com saída é semelhante à acima.
Por que o Maven manipula módulos baseados em externos de maneira diferente e há uma maneira de superar isso?
Edit: The pom-Files do projeto svn: externals. A única diferença para os arquivos pom do outro projeto são as tags scm. No outro projeto não externo, apenas o agregador possui a tag scm.
Pai-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 external 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>
App-pom.xml externo
<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>
Obrigado Konrad