You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Olivier Lamy (JIRA)" <ji...@codehaus.org> on 2009/04/24 22:02:44 UTC
[jira] Updated: (SCM-460) tag command ignores custom message
parameter
[ http://jira.codehaus.org/browse/SCM-460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Olivier Lamy updated SCM-460:
-----------------------------
Assignee: Olivier Lamy
Fix Version/s: 1.3
> 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
> Assignee: Olivier Lamy
> Fix For: 1.3
>
>
> {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