[ 
http://jira.codehaus.org/browse/MRELEASE-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=170366#action_170366
 ] 

Christian Gleissner commented on MRELEASE-252:
----------------------------------------------

Hi, 

about a year ago, I wrote a Perl script which repeatedly called the Maven 2 
release plugin to perform a release on a couple of projects which were 
dependent on each other. In the end, it worked very reliably, but it was a pain 
to get there as the release plugin was a bit unstable back then. Now, I am 
facing the exact same problem again in another project: performing automated 
multi-project releases.

It isn't an option for us to relate all the projects as sub-module under a 
shared parent POM as mentioned in earlier posts. This is because of the partial 
release problem mentioned above - we don't want to release all projects, but 
only specific subsets. Also, we don't want any interactive process requiring 
user input. Instead, everything should be controlled by an (XML) file.

Currently, we use a custom tool that gets configured via an XML file which 
contains the SVN URLs and target (post-release) versions of all modules to be 
released. It will then amend dependencies and POM versions to these target 
versions, thus eridicating all snapshot dependencies and preparing the stage 
for a lot of manual calls of the Maven release plugin. However, this is is 
still not as automated as we'd prefer, and each release takes us easily one to 
two days.

My intention is to automate this in the following way by using a multi release 
tool:
- Build dependency graph based on one (or more) root modules to be released
- Release all projects in the dependency graph(s), going from the leaves of the 
graph upwards towards the root(s). The releasing of each invididual module will 
be performed using the Maven release plugin. Recursive releases will be 
disabled as we need full control over which modules are released.
- The new trunk versions and SCM URLs of all projects can be specified in a 
separate XML file which drives the releasing.

I think such a tool may very well be beyond the original scope of the Maven 
release plugin, as it focuses on multiple modules whereas the Maven release 
plugin is only concerned with a single module and its submodules.

Does anyone know whether such a tool already exists or is currently under 
development?


> Support for multi modules project
> ---------------------------------
>
>                 Key: MRELEASE-252
>                 URL: http://jira.codehaus.org/browse/MRELEASE-252
>             Project: Maven 2.x Release Plugin
>          Issue Type: Improvement
>          Components: perform, prepare, stage
>    Affects Versions: 2.0-beta-6
>         Environment: Maven 2.0.6
>            Reporter: Franck HUGOT
>
> I would like to prepare a release for multi-modules project.
> I would create tags for all the modules and modify poms.
> Not only the versionId in the pom but also the eventual dependencies between 
> all the modules.
> Indeed, if a module A has a dependency to module B, the version will be 
> updated.
> The dependency management is a hard task in multi modules project and this 
> feature would be really appreciated.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to