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)
MENU DU JOUR
Entrée: Maven Wrapper
Plat Principal: Build/Consumer POM
Fromage: Improved Reactor
Dessert: Maven Daemon
#maven Maarten Mulders (@mthmulders)
ENTRÉE
ENTRÉE
ENTRÉE
ENTRÉE
ENTRÉE
MAVEN WRAPPER
MAVEN WRAPPER
MAVEN WRAPPER
MAVEN WRAPPER
MAVEN WRAPPER
#maven Maarten Mulders (@mthmulders)
MAVEN WRAPPER
Ensures project users have everything they need to build your
project.
Runs on Linux, macOS, Windows, Solaris.
Forget about different Maven versions your users may have.
#maven Maarten Mulders (@mthmulders)
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
#maven Maarten Mulders (@mthmulders)
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)
BUILD/CONSUMER POM
Decouples POM in version control from POM in repository.
 
 
#maven Maarten Mulders (@mthmulders)
#maven Maarten Mulders (@mthmulders)
#maven Maarten Mulders (@mthmulders)
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)
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
#maven Maarten Mulders (@mthmulders)
FROMAGE
FROMAGE
FROMAGE
FROMAGE
FROMAGE
IMPROVED REACTOR
IMPROVED REACTOR
IMPROVED REACTOR
IMPROVED REACTOR
IMPROVED REACTOR
#maven Maarten Mulders (@mthmulders)
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)
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
#maven Maarten Mulders (@mthmulders)
DESSERT
DESSERT
DESSERT
DESSERT
DESSERT
MAVEN DAEMON
MAVEN DAEMON
MAVEN DAEMON
MAVEN DAEMON
MAVEN DAEMON
#maven Maarten Mulders (@mthmulders)
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)
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
LET'S GET COOKING!
#maven Maarten Mulders (@mthmulders)
TIMELINES
TIMELINES
TIMELINES
TIMELINES
TIMELINES
#maven Maarten Mulders (@mthmulders)
MAVEN WRAPPER
🟢Available today
#maven Maarten Mulders (@mthmulders)
BUILD/CONSUMER POM
🟠Available in Maven 4
⚠️
Plugins need updating / replacement
#maven Maarten Mulders (@mthmulders)
IMPROVED REACTOR
🟠Available in Maven 4
#maven Maarten Mulders (@mthmulders)
MAVEN DAEMON
🟢Available today
⚠️
Not yet available for Apple Silicon
⚠️
May break if you use non-threadsafe plugins
#maven Maarten Mulders (@mthmulders)
PLEASE HELP!
1. 🧪test
2. 🛠️
reproduce
3. 📃report
#maven Maarten Mulders (@mthmulders)
REFERENCES & MORE INFORMATION
Demo Projects
#maven Maarten Mulders (@mthmulders)
MERCI!
#maven Maarten Mulders (@mthmulders)

What's cooking in Maven? (Devoxx FR)