Hi Mark,

POM activation can't be used cause many features/toggles we are talking about here needed to be activated before a pom has been read at all and furthermore starting with Maven 3.3.1 you could use .mvn/maven.config[1] to handle such things.

I'm note sure if IDE is handling .mvn/maven.config correct?

On build servers you will hopefully test first an activation of a feature and later you will get that into your default configuration which is hopefully not manually maintained (I hope using something like Job DSL or jenkins file of Jenkins for example or similar things on other build servers)...

And furthermore manually enabling them is exactly what we wish here, so this can only happen by intention of the particular user and not by accident...because those features should only selected by intention...


[1]: http://maven.apache.org/docs/3.3.1/release-notes.html

Kind regards
Karl Heinz

On 7/2/16 11:28 PM, Mark Derricutt wrote:
The features look nice, the only thing I don't really like is (maybe
mistaken) it's command line only? Which would mean you have to manual
enable it every where,  ides, build servers, unless you can enable them
with some form of in-pom declaration?

From the hip, on Android...

On 3/07/2016 09:19, "Karl Heinz Marbaise" <khmarba...@gmx.de
<mailto:khmarba...@gmx.de>> wrote:

    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]
    <http://issues.apache.org/jira/browse/%5BISSUE%5D>

    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
            <mailto: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
            <mailto:users-unsubscr...@maven.apache.org>
            For additional commands, e-mail: users-h...@maven.apache.org
            <mailto: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

Reply via email to