Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id E7E45200B0F for ; Fri, 17 Jun 2016 14:33:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id E6681160A61; Fri, 17 Jun 2016 12:33:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3998A160A50 for ; Fri, 17 Jun 2016 14:33:06 +0200 (CEST) Received: (qmail 40486 invoked by uid 500); 17 Jun 2016 12:33:05 -0000 Mailing-List: contact issues-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@maven.apache.org Delivered-To: mailing list issues@maven.apache.org Received: (qmail 40470 invoked by uid 99); 17 Jun 2016 12:33:05 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jun 2016 12:33:05 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 3B86E2C033A for ; Fri, 17 Jun 2016 12:33:05 +0000 (UTC) Date: Fri, 17 Jun 2016 12:33:05 +0000 (UTC) From: "Markus Karg (JIRA)" To: issues@maven.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (MRELEASE-956) Release Strategy Interface MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Fri, 17 Jun 2016 12:33:07 -0000 Markus Karg created MRELEASE-956: ------------------------------------ Summary: 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 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)