Hi everyone, Wonder if we already discussed defining the lifecycle in the project (maybe in $root/.mvn). High level the need is to be able to change the default lifecycle in the root pom without having to define a custom extension - in other words it is about having a built-in extension. The typical need is to add a mojo in the default lifecycle (add frontend magement for ex) or replace some plugins by others (for example compiler by scalac plugin, surefire by spec2 plugin for a scala based project etc...). The way I'm seeing it is to let the xml defining the lifecycle be put in .mvn/default-lifecycle.xml - I don't know if we want to use the prefix (default here) as a reference you can put in the pom but at least default makes sense IMO. The lifecycle.xml itself would likely be extended to add some precondition to each plugin (if src/main/frontend exists then add frontend:npm for ex).
I know it is a quite common need I have and not something I would put in a custom extension because it is very "by project" and not shareable so a shared extension does not make sense and packaging a plugin/extension for a single project is bothering for nothing. I'm planning to give a try with a custom extension in the summer but thought it can be worth some discussion there too. Wdyt? Romain Manni-Bucau @rmannibucau <https://twitter.com/rmannibucau> | Blog <https://rmannibucau.metawerx.net/> | Old Blog <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book <https://www.packtpub.com/application-development/java-ee-8-high-performance>