Hi, Think linking maven and maven plugins version does not make sense for most people since at the end the compat is somehow documented by the dependencyso using a more common versioning (semver or not) sounds straight forward. What would be very bad for me would be a renaming (xxx -> xxx4 for ex) in the gav or packages (commons style), it has too much impacts for almost no gain in practise so let's keep it simple and efficient.
Just my 2 cts. 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> Le jeu. 23 mars 2023 à 20:58, Slawomir Jaranowski <[email protected]> a écrit : > Hi, > > I know that historically plugin versions like 2.x was dedicated to Maven > 2.x and versions 3.x is for Maven 3.x. > > We don't have any written documentation about it (or I can't find it), it > looks like a traditional agreement. > > Nowadays Semantic Versioning is very popular and it is understood by people > and by automatic tools. > In many cases we use versions which look like Semantic Versioning (x.y.z) - > but internally we try to classify it in different ways. > > When we connect the plugins version with the Maven version as the major > version, > we have difficulty introducing breaking changes for plugins for the same > Maven version. > Also we can introduce many misunderstandings which version contains new > features and which only bug fixes. > > Authors of plugins outside Maven core in many cases don't use 3.x as for > Maven 3 and so on. > > One of the propositions can be - use Semantic Versioning as is described > and put a Maven version in the artifact name of the plugin. > > So we can have: > > maven4-XXX-plugin - for core plugins > XXX-maven4-plugin - for external plugins > > Additionally Maven 4 will have a new Api which is incompatible with Maven > 3, when we have the target Maven version in artifact it will be easier to > transition plugins from 3 to 4 and so on. > > Simply in many cases business logic which plugin provides can be extracted > to a common module and next two modules will provide plugins for specific > Maven. > It can help maintain one plugin for many Maven versions. > > > -- > Sławomir Jaranowski >
