maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Markus Karg (JIRA)" <>
Subject [jira] [Created] (MRELEASE-956) Release Strategy Interface
Date Fri, 17 Jun 2016 12:33:05 GMT
Markus Karg created MRELEASE-956:

             Summary: Release Strategy Interface
                 Key: MRELEASE-956
             Project: Maven Release Plugin
          Issue Type: New Feature
          Components: perform
            Reporter: Markus Karg

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

View raw message