You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "james strachan (JIRA)" <ji...@codehaus.org> on 2010/10/06 13:14:32 UTC

[jira] Commented: (MRELEASE-605) when not pushing changes to remote git repo in 2.1, the release plugin fails on release:perform

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

james strachan commented on MRELEASE-605:
-----------------------------------------

BTW using 2.1 you can do a release using pushChanges as false. For those interested here's how I did it...

* add the following to your pom (the version and pushChanges are the biggies)

{code}
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.1</version>
          <configuration>
            <pushChanges>false</pushChanges>
            <autoVersionSubmodules>true</autoVersionSubmodules>
            <allowTimestampedSnapshots>false</allowTimestampedSnapshots>
            <arguments>-Prelease</arguments>
          </configuration>
        </plugin>
{code}

* in your pom.xml make sure you set the scm section as follows

{code}
  <scm>
    <!-- TODO - hack this in your ~/.m2/settings.xml to point to your local checkout for releases -->
    <developerConnection>${release-altGitURL}</developerConnection>
    ...
  </scm>
{code}

* in your ~/.m2/settings.xml make sure you have this...

{code}
<settings>
  <profiles> 
    <profile>
      <id>release</id>
      <properties>
        <release-altGitURL>scm:git:file:///directory/where/my/code/is</release-altGitURL>
      </properties>
    </profile>
  </profiles>	
{code}

* then when running the release plugin use

{code}
mvn release:prepare -Prelease
mvn release:perform -Prelease
{code}



> when not pushing changes to remote git repo in 2.1, the release plugin fails on release:perform
> -----------------------------------------------------------------------------------------------
>
>                 Key: MRELEASE-605
>                 URL: http://jira.codehaus.org/browse/MRELEASE-605
>             Project: Maven 2.x Release Plugin
>          Issue Type: Improvement
>    Affects Versions: 2.1
>            Reporter: james strachan
>
> as it tries to clone the remote repo, which has not yet been pushed - so there's no tag in the remote repo yet.
> Ideally if pushChanges is false, it should use a value of
> {code}
>   <scm>
>      <developerConnectionL>scm:git:file://${baseDir}</developerConnection>
>      ...
>   </scm>
> {code}
> so that it clones from the current local git repo (which has everything inside it) rather than the remote repo which has yet to be pushed.
> BTW a great use case for not pushing is using a staging maven repo like Nexus; which may reject an attempt to promote a staged build, so you only want to push after a downstream stage works.

-- 
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