Christopher Tubbs created MRELEASE-938:
------------------------------------------

             Summary: Need better support for staging release candidates with 
git and Nexus
                 Key: MRELEASE-938
                 URL: https://issues.apache.org/jira/browse/MRELEASE-938
             Project: Maven Release Plugin
          Issue Type: Improvement
            Reporter: Christopher Tubbs


Use case:

An ASF project creates git tags which are GPG-signed named "rel/<version>" 
after a release is voted on. If the release passes, the contents of the pom.xml 
files should refer to this final tag, and not any intermediate release 
candidate tag name.

To avoid pushing the release prior to building a release candidate and 
publishing it to the staging maven repository, the configuration sets 
{{<pushChanges>false</pushChanges>}} and 
{{<localCheckout>true</localCheckout>}}, and the tag name is created with 
{{<tagNameFormat>rel/@\{project.version\}</tagNameFormat>}}.

There is still a risk of a release manager accidentally pushing the tag created 
by the maven-release-plugin, which has the final name, but is not GPG signed, 
and should not be pushed, because it cannot (and should not) change once it is.

What might be useful here is an alternate, intermediate name, 
{{@\{project.version\}}} which can be used as the checkout tag for the perform 
step.

Alternatively, no tag actually has to be created in this case (a GPG-signed tag 
is manually created later). Unless {{suppressCommitBeforeTag}} is set, the 
perform step can check out from {{HEAD~1}}, instead. An option to skip tag 
creation entirely could work under these circumstances.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to