Planning Your Build with Maven 2.1-SNAPSHOT
I just completed a major overhaul[1] of the Maven lifecycle-execution code, and I wanted to take a few minutes to share some of the high-geek-factor features of the new architecture. First of all, the new architecture builds up a complete list of all the mojos that will fire during your build, along with their configurations...all before it executes the first mojo. This means all plugins in the build will be verified as present and accounted-for right up front. Lifecycle phase bindings are resolved from the POM's packaging, the POM's build section, and the command line itself. Then, all of these lifecycle bindings are merged together and injected with their appropriate configurations from the POM and various other places (like lifecycle overlays brought in during forked execution by plugins) to form a BuildPlan instance. Then, the LifecycleExecutor (no, I didn't completely remove this) extracts a List of bindings from the plan, and iterates over each one, executing as it goes. While just-in-time processes ...
The Year of the Build Chimp
I'm posting code-related entries under this account now, so I can separate my personal blog entries more cleanly from the rest.
