[
https://issues.apache.org/jira/browse/MRELEASE-956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15336261#comment-15336261
]
Robert Scholte commented on MRELEASE-956:
-----------------------------------------
Yes, I have this idea for quite some time. Just didn't had the need to
implement it yet, there are enough issues screaming to be fixed too.
> Release Strategy Interface
> --------------------------
>
> Key: MRELEASE-956
> URL: https://issues.apache.org/jira/browse/MRELEASE-956
> Project: Maven Release Plugin
> Issue Type: New Feature
> Components: perform
> Reporter: Markus Karg
> Labels: strategy
>
> The release plugin has built-in strategies for preparation and performing of
> a release. For example, the strategy for preparation contains increasing
> versions numbers, comitting to SCM, tagging in SCM, and so.
> Not all users share the same strategies in real life. For example, some
> companies might want to have a tag AND and a branch created in SCM when
> preparing a release. Or other companies might want to have tag created for
> "prepared-release-1.0.0" at preparation, and replace it by "release-1.0.0" as
> part of release:perform.
> To provide better flexibility of such company-wide strategies, it might be a
> solution to introduce an interface "ReleaseStrategy" which acts as a worker
> for the prepare and perform goals (and possibly others). The current built-in
> strategy could be refactored to be a default-included
> "DefaultReleaseStrategy" for backwards compatibility, while users could
> configure a new property "releaseStrategy" to point to an Extension which
> provides a differently working strategy.
> To make this work, certainly the Strategy implementation needs to get passed
> a context which allows to fire actions like "tag version", "create branch",
> "change pom version" and so on, just as the current built-in strategy has.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)