Hi,
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
preserving
>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
behavior
> 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):
@Requirement
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 line...like 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.
First
Feature to be toggable via command line option.
MNG-9992 MNG9992 First Feature to be toggable via command line option.
First
Feature to be toggable via command line option. XX
asdfa.
asdf dsf.
MNG-9993 MNG9993 First Feature to be toggable via command line option.
More
text than you think.
MNG-10000 MNG10000 First Feature to be toggable via command line option.
Here
much more than you thing.
If you like to know more about a particular issue please visit:
issues.apache.org/jira/browse/[ISSUE]
so this implemented only two new command line options:
--activate-features ARGS
--list-features
...
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
[1]: https://issues.apache.org/jira/browse/MNG-6056
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 <c...@schulte.it> 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: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org
Thanks,
Jason
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org