Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What's cooking in Maven? (Devoxx BE)

What's cooking in Maven? (Devoxx BE)

It’s been over 10 years since Maven 3 saw the light, bringing initial multi-module support. Later releases brought a lot of improvements, bug fixes, and of course coloured output.

But the Maven community hasn’t been resting on their laurels. A lot of effort has gone into the future of Maven. You may have heard about Maven 4, Maven Wrapper, or Maven Daemon. Why should you care? And how will it change the way you use Maven? I will show you by using the latest snapshot builds of Maven - time will tell if that’s a brave or a stupid idea…

Join me to find out what the future of Maven has for you!

Maarten Mulders

October 13, 2022
Tweet

More Decks by Maarten Mulders

Other Decks in Programming

Transcript

  1. WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    WHAT'S COOKING IN
    MAVEN?
    MAVEN?
    MAVEN?
    MAVEN?
    MAVEN?
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  2. MENU DU JOUR
    Todays Menu
    Entrée Maven Wrapper
    Plat Principal Build/Consumer POM
    Fromage Improved Reactor
    Dessert Maven Daemon
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  3. ENTRÉE
    ENTRÉE
    ENTRÉE
    ENTRÉE
    ENTRÉE
    MAVEN WRAPPER
    MAVEN WRAPPER
    MAVEN WRAPPER
    MAVEN WRAPPER
    MAVEN WRAPPER
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  4. MAVEN WRAPPER
    Ensures project users have everything they need to build your
    project.
    Runs on Linux, macOS, Solaris, Windows.
    Forget about different Maven versions your users may have.
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  5. LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  6. PLAT PRINCIPAL
    PLAT PRINCIPAL
    PLAT PRINCIPAL
    PLAT PRINCIPAL
    PLAT PRINCIPAL
    BUILD/CONSUMER POM
    BUILD/CONSUMER POM
    BUILD/CONSUMER POM
    BUILD/CONSUMER POM
    BUILD/CONSUMER POM
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  7. BUILD/CONSUMER POM
    Decouples POM in version control from POM in repository.
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  8. #maven Maarten Mulders (@mthmulders)

    View full-size slide

  9. #maven Maarten Mulders (@mthmulders)

    View full-size slide

  10. BUILD/CONSUMER POM
    Decouples POM in version control from POM in repository.
    Paves the road for further evolution of the POM as we know it.
    Without breaking the whole Java ecosystem.
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  11. LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  12. FROMAGE
    FROMAGE
    FROMAGE
    FROMAGE
    FROMAGE
    IMPROVED REACTOR
    IMPROVED REACTOR
    IMPROVED REACTOR
    IMPROVED REACTOR
    IMPROVED REACTOR
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  13. IMPROVED REACTOR
    Addresses long-standing issues in Maven on multi-module
    projects.
    The Reactor is now fully root-project aware.
    — As long as you have a .mvn folder.
    It improves your daily use of Maven: no more mvn install.
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  14. LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  15. DESSERT
    DESSERT
    DESSERT
    DESSERT
    DESSERT
    MAVEN DAEMON
    MAVEN DAEMON
    MAVEN DAEMON
    MAVEN DAEMON
    MAVEN DAEMON
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  16. MAVEN DAEMON
    Provides faster Maven builds using a daemon process.
    Keeps the JVM and plugins "warm".
    Runs multi-threaded by default without cluttering output.
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  17. LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    LET'S GET COOKING!
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  18. TIMELINES
    TIMELINES
    TIMELINES
    TIMELINES
    TIMELINES
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  19. MAVEN WRAPPER
    🟢
    Available today
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  20. BUILD/CONSUMER POM
    🟠
    Available in Maven 4
    ⚠️
    Plugins need updating / replacement
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  21. IMPROVED REACTOR
    🟠
    Available in Maven 4
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  22. MAVEN DAEMON
    🟢
    Available today
    ⚠️
    Not yet available for Apple Silicon Fixed with 0.8.2, released
    last Tuesday!
    ⚠️
    May break if you use non-threadsafe plugins
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  23. Maven Wrapper
    🟢
    Build/Consumer POM
    🟠
    Improved Reactor
    🟠
    Maven Daemon
    🟢
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  24. PLEASE HELP!
    1.
    🧪
    test
    2. 🛠️
    reproduce
    3.
    📃
    report
    #maven Maarten Mulders (@mthmulders)

    View full-size slide

  25. THANK YOU!
    REFERENCES & MORE INFORMATION
    Please rate using the app!
    Demo Projects @mthmulders
    #maven Maarten Mulders (@mthmulders)

    View full-size slide