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

What's cooking in Maven? (Devoxx UK)

What's cooking in Maven? (Devoxx UK)

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

May 07, 2024
Tweet

More Decks by Maarten Mulders

Other Decks in Technology

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)
  2. spring-io/start.spring.io #1012 “ And I just wanted to mention that

    [...] Maven is working on a lot of the nice things [...]. Most of them are already available for use. -- Martin Kanters #maven Maarten Mulders (@mthmulders)
  3. 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)
  4. MENU DU JOUR Todays Menu Entrée Maven Wrapper Plat Principal

    Build/Consumer POM Fromage Improved Reactor Dessert Maven Daemon #maven Maarten Mulders (@mthmulders)
  5. ENTRÉE ENTRÉE ENTRÉE ENTRÉE ENTRÉE MAVEN WRAPPER MAVEN WRAPPER MAVEN

    WRAPPER MAVEN WRAPPER MAVEN WRAPPER #maven Maarten Mulders (@mthmulders)
  6. 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)
  7. LET'S GET COOKING! LET'S GET COOKING! LET'S GET COOKING! LET'S

    GET COOKING! LET'S GET COOKING! #maven Maarten Mulders (@mthmulders)
  8. 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)
  9. BUILD/CONSUMER POM Decouples POM in version control from POM in

    repository. #maven Maarten Mulders (@mthmulders)
  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)
  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)
  12. FROMAGE FROMAGE FROMAGE FROMAGE FROMAGE IMPROVED REACTOR IMPROVED REACTOR IMPROVED

    REACTOR IMPROVED REACTOR IMPROVED REACTOR #maven Maarten Mulders (@mthmulders)
  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. — Or add root="true" on the root project's model. It improves your daily use of Maven: no more mvn install. — Uses a project-local repository in target/project-local-repo. #maven Maarten Mulders (@mthmulders)
  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)
  15. DESSERT DESSERT DESSERT DESSERT DESSERT MAVEN DAEMON MAVEN DAEMON MAVEN

    DAEMON MAVEN DAEMON MAVEN DAEMON #maven Maarten Mulders (@mthmulders)
  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. brings improved parallelism by building in topological order. Takari Smart builder #maven Maarten Mulders (@mthmulders)
  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)
  18. BUILD/CONSUMER POM 🟠 Available in Maven 4 (alpha) ⚠️ Plugins

    may need updating / replacement #maven Maarten Mulders (@mthmulders)
  19. MAVEN DAEMON 🟢 Available today Available for Maven 3.9.x as

    well as for 4.x (alpha) ⚠️ May break if you use non-threadsafe plugins #maven Maarten Mulders (@mthmulders)
  20. Maven Wrapper 🟢 Build/Consumer POM 🟠 Improved Reactor 🟠 Maven

    Daemon 🟢 #maven Maarten Mulders (@mthmulders)
  21. PLEASE HELP! 1. 💾 Maven 4.0.0 alpha-13 2. 🧪 test

    3. 🛠️ reproduce 4. 📃 report #maven Maarten Mulders (@mthmulders)
  22. THANK YOU! REFERENCES & MORE INFORMATION Demo Projects @mthmulders 🌟

    🌟 🌟 🌟 🌟 #maven Maarten Mulders (@mthmulders)