maven-issues mailing list archives

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


Markus Karg commented on MRELEASE-956:

If you like I could provide a PR on GitHub as an early draft.

> Release Strategy Interface
> --------------------------
>                 Key: MRELEASE-956
>                 URL:
>             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

View raw message