maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Heinz Marbaise (JIRA)" <>
Subject [jira] [Commented] (MNG-6056) Implement Feature Toggle Module to handle Feature Toggles
Date Sun, 10 Jul 2016 11:40:11 GMT


Karl Heinz Marbaise commented on MNG-6056:

But if the user can not deactivate a feature simple it is a much higher barrier to use a new
releases of Maven...if it can simply being solved by using a simple command line option it
is easy to get back to previous behaviour (if it is wrong or not does not matter) ....also
Jenkins for example does such things where you activate/deactivate things via properties (cause
jenkins itself has no command line). Should we lift up the barrier higher than a CI tools
like Jenkins? 

> Implement Feature Toggle Module to handle Feature Toggles
> ---------------------------------------------------------
>                 Key: MNG-6056
>                 URL:
>             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

View raw message