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)
maven svn multi-module tagging maven-release-plugin
mhaller
source share