first: thanks for sharing from a high level point of view, the risk I see is to loose our conventions. But let's try and see before judging
I think there are 2 topics currently mixed: - default lifecycle phases: do you want to add or remove phases? [1] - default plugin bindings: clearly, you want to have specific default bindings. On default bindings, as they are defined per-packaging [2] (that's what is triggered behind packaging in pom.xml) Regards, Hervé [1] https://maven.apache.org/ref/3.6.3/maven-core/lifecycles.html [2] https://maven.apache.org/ref/3.6.3/maven-core/default-bindings.html Le vendredi 3 juillet 2020, 09:20:25 CEST Romain Manni-Bucau a écrit : > 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 > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
