Configure Maven release with svn tags per module

purpose

Multimodal maven issue with tags per module

Situation

Assume the following project structure for a Maven-based Java project:

xx-parent xx-moduleA xx-moduleB xx-moduleC/submodule1 xx-moduleC/submodule2 xx-moduleC/submodule3 

The structure of the project in Subversion is as follows:

 xx-parent/trunk xx-moduleA/trunk xx-moduleB/trunk xx-moduleC/trunk/submodule1 xx-moduleC/trunk/submodule2 xx-moduleC/trunk/submodule3 

My goal is to create tags for each module during release:

 xx-parent/tags/xx-parent-1.0 xx-moduleA/tags/xx-moduleA-1.0 xx-moduleB/tags/xx-moduleB-1.0 xx-moduleC/tags/xx-moduleC-1.0 

In the past, each module was built and released separately. As the project grew (30 modules), the time for creating the release increased. I would like to change the project to a multi-module installation in order to complete the assembly and release of the reactor. Building does not seem to be a problem, but creating tags for each module is.

The maven-release plugin seems to insist on creating only one tag for the entire project / release. I am looking for a way to create multiple tags, for example. tag on the module.

What I tried so far

  • Creating a Subversion alias xx-all that checks all submodules, so I can reference them using <module>../xx-moduleB</module>
  • The inclusion of commitByProject , which was executed for each module, but not for each module. Cm.
  • Each module has its own <scm> elements in pom.xml , but they are not used when releasing the reactor.
  • mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform

Problems

  • maven-release-plugin does not create svn tag for each module
  • maven-release-plugin overwrites the <scm> with invalid URLs, for example. nested "trunk" -tags under xx-parent tag

Question

How to set up this project using the Maven release process, multi-module layout and still get separate tags for each module?

References

http://jira.codehaus.org/browse/MRELEASE-261 (closed) and MRELEASE-561 (Open)

+6
maven svn multi-module tagging maven-release-plugin
source share
1 answer

According to Arno Herier (PMC member Apache Maven)

Maven cannot handle composite applications such as module-A v0.1, module-B v0.3.

Maven considers the project and all its submodules as a unique set.

see http://blog.aheritier.net/maven-release-plugin-2-0/ (June 9, 2010)



Maybe the situation has changed since Maven 3?

+1
source share

All Articles