maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karl Heinz Marbaise <>
Subject Re: Preleminary Maven 3.4.0-SNAPSHOT Testing
Date Sat, 02 Jul 2016 21:18:53 GMT

On 7/2/16 2:06 PM, Jason van Zyl wrote:
 >So we need to figure out a way to deliver the new behavior while 
 >the old for a time being. Maybe a branch,

 > but I think the best way to do it is to have both behaviors exist in the
 > same codebase and turn on what we considered corrected behavior
 > with feature toggles.
 > Users can opt in early if they want to see the potential benefit
 > but it won’t affect users adversely or unintentionally.
 >Eventually over time the new behavior becomes the default and the old 
 > can be toggled for the stragglers.

I have implemented as an example feature toggles as module via 
MNG-6056[1] (on a branch) which makes all this possible.

So you can use things like:

--activate-features MNG9991,MNG9992

which can easily questioned in the code (already an example in the branch):

private SelectedFeatures featureToggle;
if (featureToggle.isFeatureActive(Feature.MNG10000)) {
     // The feature is implemented here or a different selection is done.

If we sometime in the future decied to make the feature MNG10000 the 
default behaviour we can simply remove the if (...) in code and the 
enumeration entry...and it is default behaviour..those who give the 
activation via command line will only get a WARNING on a missing feature 
toggle which gives a hint to remove that from command this:

[WARNING] The requested feature 'MNG10001' Does not exist.

Also you can request information like this (plus description):

~/ws-git/javaee (mvn321)$ 
~/tools/maven-test/apache-maven-3.4.0-SNAPSHOT/bin/mvn clean --list-features

Currently existing feature toggles which you can enable:

Issue     Option   Description
--------- -------- ----------------------------------------------------
MNG-9991  MNG9991  First Feature to be toggable via command line option. 
                    Feature to be toggable via command line option.
MNG-9992  MNG9992  First Feature to be toggable via command line option. 
                    Feature to be toggable via command line option. XX 
                    asdf dsf.
MNG-9993  MNG9993  First Feature to be toggable via command line option. 
                    text than you think.
MNG-10000 MNG10000 First Feature to be toggable via command line option. 
                    much more than you thing.

If you like to know more about a particular issue please visit:[ISSUE]

so this implemented only two new command line options:

--activate-features ARGS


Furthermore if we identify wrong configurations etc. (not so easy or may 
be impossible) we can give a hint on the feature toggle to let the user 
make the decision if he want to have a different (correct) solution or 
an improved solution....or whatever...

Kind regards
Karl Heinz


  Sure we can just throw away the old behavior but I honest think the 
downstream impact will be enormous, and in a negative way.
>> On Jul 2, 2016, at 7:07 AM, Christian Schulte <> wrote:
>> Am 07/02/16 um 12:36 schrieb Oliver B. Fischer:
>>> My suggestions is based on the view of a Maven user who would like to do
>>> it's daily job ;-)
>>> In our team we have > 20 Maven projects and as a Maven 'User' you need
>>> the chance to fix such issues before the break your build. Everyone
>>> would blame Maven for this. We should have the chance to fix these
>>> problems before they become serious.
>>> WDYT?
>> It's a matter of how you plan Maven upgrades. I understand you just want
>> to download a newer Maven version without having to do anything else. As
>> already said, the commits in question have been reverted for 3.4. Think
>> about upgrading Maven is like upgrading your operating system. You are a
>> developer yourself. How do you fix bugs without fixing them?
>> Regards,
>> --
>> Christian
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:
> Thanks,
> Jason

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message