I would like to add that it would be desirable if this could also support the case where the modules do not have the aggregator pom as their parent, i.e. the following scenario:
release-workspace\
|
|--release-parent
| |+pom.xml (modules: ../release-module1, ../release-module2)
|
|--release-module1
| |+pom.xml (parent: corporate root pom)
|
|--release-module2
|+pom.xml (parent: some other parent)
We would like to have this set up in order to support a collective release consisting of a dynamic set of modules (the list of modules in the aggregator pom is dynamically generated from a dialog where you can choose which modules to release at a particular time).
The release cycle for these modules may or may not coincide at any point in time, it depends entirely on which features should be pushed to production, and we want this flexible workflow. (And we certainly do not want to release every module independently since it can be up to 30-40 modules and releases can be as frequent as every week.)
Also, it would be ideal if any SCM structure could be supported (since SCM information is readily available in each module's pom anyway), e.g. the modules above might look like this in the repo:
repo-root\
|
|--release-parent\trunk
| |+pom.xml (modules: ../release-module1, ../release-module2)
|
|--subdirectory1\
| |
| |----release-module1\trunk
| |+pom.xml (parent: corporate root pom)
|
|--release-module2\trunk
|+pom.xml (parent: some other parent)
Also the scm-tag of the parent pom is only available in the release.properties.
Modules get mostly the scm-tag as HEAD. This may not work with all VCS. I have synergy and we also intend to use this flat structure due to maintanence complexities.
I tried with
Dproject.scm.c.o.m\:module_child.tag=module_child<tagVersion> but that is not respected by release:prepare.All the submodules have SCM elements declared separately in their POMs.
Dproject.scm.c.o.m\:module_child.tag=module_child<tagVersion> but that is not respected by release:prepare. All the submodules have SCM elements declared separately in their POMs.