[
https://issues.apache.org/jira/browse/MNG-6056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15360326#comment-15360326
]
Karl Heinz Marbaise edited comment on MNG-6056 at 7/2/16 8:51 PM:
------------------------------------------------------------------
Added appropriate implementation (first version) on [branch
MNG-6056|https://git-wip-us.apache.org/repos/asf?p=maven.git;a=shortlog;h=refs/heads/MNG-6056]
May be we should change the names ? Suggestions ?
was (Author: khmarbaise):
Added appropriate implementation (first version) on [branch
MNG-6056|https://git-wip-us.apache.org/repos/asf?p=maven.git;a=shortlog;h=refs/heads/MNG-6056]
> Implement Feature Toggle Module to handle Feature Toggles
> ---------------------------------------------------------
>
> Key: MNG-6056
> URL: https://issues.apache.org/jira/browse/MNG-6056
> Project: Maven
> Issue Type: Task
> Affects Versions: 3.4.0
> Reporter: Karl Heinz Marbaise
> Assignee: Karl Heinz Marbaise
> Priority: Minor
> Fix For: 3.4.0
>
>
> Implement a feature toggle module to handle feature toggles in Maven. The
> best from my point of view at the moment is having a relationship to the JIRA
> which defines all kinds of bugs, issues and of course features.
> Create a separate module: {{maven-feature}} to have no other dependency which
> means it can be integrated into any other module of maven.
> Add appropriate command line option like {{--activate-features}} to activate
> one or more features in one go. This prevents us from changing the command
> line every time we add or remove a feature toggle.
> So a command line option could look like this:
> {code}
> mvn --activate-features MNG2345,MNG1299 clean package
> {code}
> This will activate the features {{MNG2345}} and {{MNG1299}}. If you try to
> activate a feature toggle which does not exist we should simply print out a
> warning and just continue. This will simplify also future changes which means
> if 3.4.0 introduces a feature toggle {{MNG-XXXX}} but in Maven 3.5.0 this
> feature toggle does not exists anymore or made default calling the command
> line that way will only produce a warning nothing more.
> It should be compile time save which means if the feature toggle will be
> removed the compiler should show where this features has been used or
> questioned if it is activated. This will simplify the removal of the
> dependent code.
> Simplify adding of new feature toggles.
> Currently the best seemed to be an enumeration which contains this
> information.
> It should also be possible to list all available feature toggles via command
> line option like {{--list-features}} which should print out the existing
> feature toggles plus an appropriate description for the user (in particular
> intended for maven devs).
> It should also be simple to query for a feature toggle like:
> {code:java}
> @Requirement
> private SelectedFeatures featureToggle;
> ...
> if (featureToggle.isFeatureActive(Feature.MNG10000)) {
> // The feature is implemented here or a different selection is done.
> }}
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)