You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Christian Gleissner (JIRA)" <ji...@codehaus.org> on 2009/03/20 03:03:13 UTC

[jira] Commented: (MRELEASE-252) Support for multi modules project

    [ 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