tag command ignores custom message parameter --------------------------------------------
Key: SCM-460 URL: http://jira.codehaus.org/browse/SCM-460 Project: Maven SCM Issue Type: Bug Components: maven-scm-api Affects Versions: 1.2 Environment: maven-release-plugin-2.0-beta-9 Reporter: Stas Garifulin {code:title=org.apache.maven.scm.command.provider.AbstractScmProvider} public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName, ScmTagParameters scmTagParameters ) throws ScmException { login( repository, fileSet ); CommandParameters parameters = new CommandParameters(); parameters.setString( CommandParameter.TAG_NAME, tagName ); parameters.setScmTagParameters( CommandParameter.SCM_TAG_PARAMETERS, scmTagParameters ); return tag( repository.getProviderRepository(), fileSet, parameters ); } {code} {code:title=org.apache.maven.scm.command.tag.AbstractTagCommand} public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { String tagName = parameters.getString( CommandParameter.TAG_NAME ); String message = parameters.getString( CommandParameter.MESSAGE, "[maven-scm] copy for tag " + tagName ); ScmTagParameters scmTagParameters = parameters.getScmTagParameters( CommandParameter.SCM_TAG_PARAMETERS ); if (message != null) { scmTagParameters.setMessage( message ); } return executeTagCommand( repository, fileSet, tagName, scmTagParameters ); } {code} Maven release manager passes custom message to scm provider using the scmTagParameters argument. Scm provider passes scmTagParameters to scm tag command (CommandParameter.SCM_TAG_PARAMETERS). Scm tag command overrides the passed ScmTagParameters#message. Correct implementation should be like this: {code:title=org.apache.maven.scm.command.tag.AbstractTagCommand} public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { String tagName = parameters.getString( CommandParameter.TAG_NAME ); ScmTagParameters scmTagParameters = parameters.getScmTagParameters( CommandParameter.SCM_TAG_PARAMETERS ); String message = parameters.getString( CommandParameter.MESSAGE ); if (message != null) { // if message was passed by CommandParameter.MESSAGE then use it. scmTagParameters.setMessage( message ); } if(scmTagParameters.getMessage() == null) { // if message hasn't been passed nor by ScmTagParameters nor by CommandParameter.MESSAGE then use default. scmTagParameters.setMessage( "[maven-scm] copy for tag " + tagName ); } return executeTagCommand( repository, fileSet, tagName, scmTagParameters ); } {code} -- 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