I vote +1 on just using semver, more or less, and calling it a day. We really shouldn't change artifact IDs unless we're changing everything else too so it's basically a new artifact. Even if it is a completely new plugin, it's likely that in the future it will want to support Maven 5+ so let's not bake the Maven version into the artifact ID. They should be able to evolve more independently. The Maven coordinates are not the right place to indicate which Maven versions a given plugin supports.
On Thu, Mar 23, 2023 at 3:58 PM Slawomir Jaranowski <[email protected]> wrote: > > 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 -- Elliotte Rusty Harold [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
