maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nils Winkler (JIRA)" <>
Subject [jira] Updated: (MRELEASE-322) Unable to set the working directory for projects where the master pom isn't at the root of the project
Date Mon, 26 May 2008 16:11:21 GMT


Nils Winkler updated MRELEASE-322:

    Attachment: maven-release-plugin-flat.patch

I am facing the same problem. Did some work on this, please have a look at the two attached
patches. Here's what they do (in addition to bumping up the version to 1.1-SNAPSHOT, which
probably isn't that great - but it works to tell them apart from the official version):

.h2 maven-release-plugin-flat.patch
* Moves the {{commitByProject}} attribute up to the {{AbstractReleaseMojo}} class. This way
this attribute is available for both the prepare and the perform goals.

.h2 maven-release-manager-flat.patch
* If the {{commitByProject}} parameter is set, the tagging also goes through the list of projects
in the reactor and commits each one of them.
* During the perform phase, the working directory is set to the directory containing the parent
POM, i.e. {{master/target/checkout/master}}

You can run this like this:
master> mvn -DcommitByProject=true release:prepare
master> mvn -DcommitByProject=true release:perform

The tag patch currently expects a SCM management layout like this - tested with SVN:

I have implemented it like this since it reflects our current environment. To use a different
layout, I would recommed playing around with the code in {{}}. Maybe another
parameter could be added to specify the SCM layout to use.

Hope this helps some of you.

> Unable to set the working directory for projects where the master pom isn't at the root
of the project
> ------------------------------------------------------------------------------------------------------
>                 Key: MRELEASE-322
>                 URL:
>             Project: Maven 2.x Release Plugin
>          Issue Type: Bug
>          Components: scm
>    Affects Versions: 2.0-beta-7
>            Reporter: Christian Nelson
>            Priority: Blocker
>         Attachments: maven-release-manager-flat.patch, maven-release-plugin-flat.patch
> Branches and Tags are created from the current working directory, which isn't always
correct and there isn't a way to override the working directory.
> For example, we have the following directory structure:
> ${root}/master/pom.xml - The modules section include relative paths to modules a, b,
and c.
> ${root}/module-a/pom.xml
> ${root}/module-b/pom.xml
> ${root}/module-c/pom.xml
> All subversion copies (via branch or prepare) originate from ${root}/master.  As a result,
they are incomplete; we really want to create copies from ${root} not ${root}/master.  Here's
the subversion command that I think is the problem:
> {noformat}
> [INFO] Working directory: C:\devsys\repos\trunk\master
> [INFO] Branching release with the label release-1.0...
> [INFO] Executing: svn --non-interactive copy --file C:\Users\cnelson\AppData\Local\Temp\maven-scm-1179760787.commit
. http://hostname/svn/dev/branches/release-1.0
> {noformat}
> The period after the filename is what's indicating to subversion to create the copy from
master instead of ${root}.  Note: the working directory is derived from the basedir and I
couldn't find a way to override the basedir.
> While not having the master pom at the root of the project may be a little uncommon,
it doesn't seem unreasonable.  Can we add a configuration option to handle these cases?

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message